可能必须引用两个具有相同完全限定类型名的程序集版本。例如,可能必须在同一应用程序中使用程序集的两个或多个版本。通过使用外部程序集别名,可以将来自每个程序集的命名空间包装在由别名命名的根级别命名空间中,从而使这些命名空间可以在同一文件中使用。
注意 |
---|
extern 关键字还用作方法修饰符,声明用非托管代码编写的方法。 |
若要引用两个具有相同完全限定类型名的程序集,必须在命令提示符下指定别名,如下所示:
/r:GridV1=grid.dll
/r:GridV2=grid20.dll
这将创建外部别名 GridV1 和 GridV2。若要从程序中使用这些别名,请使用 extern 关键字引用它们。例如:
extern alias GridV1;
extern alias GridV2;
每一个外部别名声明都引入一个额外的根级别命名空间,它与全局命名空间平行,而不是在全局命名空间内。因此,通过使用根源于相应命名空间别名的完全限定名,可以无歧义地引用每个程序集的类型。
在上面的示例中,GridV1::Grid 是来自 grid.dll 的网格控件,而 GridV2::Grid 是来自 grid20.dll 的网格控件。
原文:http://www.cnblogs.com/qook/p/5369178.html