extern修饰符用于声明由程序集外部实现的成员函数
经常用于系统API函数的调用(通过 DllImport)。注意,和DllImport一起使用时要加上 static修饰符
也可以用于对于同一程序集不同版本组件的调用(用 extern声明别名)
不能与 abstract修饰符同时使用
示例:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace Example03
{
class Program
{
//注意DllImport是一个Attribute Property,在System.Runtime.InteropServices命名空间中定义
//extern与DllImport一起使用时必须再加上一个static修饰符
[DllImport("User32.dll")]
public static extern int MessageBox(int Handle, string Message, string Caption, int Type);
static int Main()
{
string myString;
Console.Write("Enter your message: ");
myString = Console.ReadLine();
return MessageBox(0, myString, "My Message Box", 0);
}
}
}