extern 修饰符用于声明在外部实现的方法。extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 属性一起使用。在这种情况下,还必须将方法声明为 static。
下面的代码示例演示如何使用 DllImportAttribute 属性(EntryPoint 属性)导入 Win32 MessageBox 函数,并改名为NewMessageBox。 然后,代码示例将调用导入的方法。
[DllImport("user32.dll", CharSet = CharSet.Unicode,EntryPoint="MessageBox")]
public static extern int NewMessageBox(IntPtr hWnd, String text, String caption, uint type);
private void button1_Click(object sender, EventArgs e)
{
NewMessageBox(new IntPtr(0), "Hello World!", "Hello Dialog", 0);
}