EXTERN

extern 关键字用于声明外部实现的方法。这可以与 DllImport 属性结合使用,以使用 Interop 服务调用非托管代码。在这种情况下,它将带有 static 修饰符

例如:

using System.Runtime.InteropServices;
public class MyClass
{
    [DllImport("User32.dll")]
    private static extern int SetForegroundWindow(IntPtr point);

    public void ActivateProcessWindow(Process p)
    {
        SetForegroundWindow(p.MainWindowHandle);
    }
}

这使用从 User32.dll 库导入的 SetForegroundWindow 方法

这也可用于定义外部程序集别名。这让我们可以从单个程序集中引用相同组件的不同版本。

要引用具有相同完全限定类型名称的两个程序集,必须在命令提示符处指定别名,如下所示:

/r:GridV1=grid.dll
/r:GridV2=grid20.dll

这将创建外部别名 GridV1 和 GridV2。要在程序中使用这些别名,请使用 extern 关键字引用它们。例如:

extern alias GridV1;
extern alias GridV2;