using System;
using System.Runtime.InteropServices;
using System.Text;
/*
* 外部方法是在声明中没有实现的方法,常常是C#之外的编程语言编写的。
* 1、用extern修饰符标记,在类的声明中没有实现,它的实现被分号取代
* 2、声明和实现的连接是依赖实现的。常常使用DllImport特性完成
*/
namespace ExternMethod
{
class MyClass
{
[DllImport("kernel32",SetLastError=true)]
public static extern int GetCurrentDirectory(int a,StringBuilder b);
}
class Program
{
static void Main(string[] args)
{
const int MaxDirLength = 250;
StringBuilder sb = new StringBuilder();
sb.Length = MaxDirLength;
MyClass.GetCurrentDirectory(MaxDirLength, sb);
Console.WriteLine(sb);
Console.ReadKey();
}
}
}
时间: 2024-10-05 17:47:02