C#外部方法

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();
        }
    }
}
原文地址:https://www.cnblogs.com/sulong/p/4793842.html