C#中可以用extern修饰符声明外部实现的方法。常用于Interop服务使用非托管代码与DllImport属性一起使用(同时要声明static),如:
[DllImport("avifil32.dll")]
private static extern void AVIFileInit();
C#中可以同时引用两个类型名完全相同的程序集(常见同一控件的多个版本),这时候使用外部命令行指定别名引用,比如:
/r:GridV1=grid.dll
/r:GridV2=grid20.dll
在程序中使用它们的时候,需要用关键extern来引用它们:
extern alias GridV1;
extern alias GridV2;
GridV1和GridV2会被引用进和全局命名空间同级别的额外空间,使用GridV1::Grid或者GridV2::Grid可以得到不同版本的Grid类型。