extern 别名 (C# 参考)

可能必须引用具有相同完全限定类型名称的两个版本的程序集。 例如,你可能必须在同一应用程序中使用两个或更多版本的程序集。 通过使用外部程序集别名,每个程序集中的命名空间可以包装在别名命名的根级命名空间中,这样就可以在同一文件中使用这些命名空间。

注释

extern 关键字还用作方法修饰符,声明以非托管代码编写的方法。

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

/r:GridV1=grid.dll

/r:GridV2=grid20.dll

这将创建外部别名 GridV1GridV2。 若要从某个程序内使用这些别名,请使用 extern 关键字引用它们。 例如:

extern alias GridV1;

extern alias GridV2;

每个外部别名声明都引入了一个附加的根级命名空间,该命名空间并行(但不位于)全局命名空间内。 因此,可以通过使用完全限定的名称(根于适当的命名空间别名)来引用每个程序集中的类型,而不含糊不清。

在前面的示例中, GridV1::Grid 是来自的网格控件 grid.dll,并且 GridV2::Grid 是来自 grid20.dll的网格控件。

使用 Visual Studio

如果使用 Visual Studio,则可以以类似的方式提供别名。

在 Visual Studio 中向项目添加 对grid.dllgrid20.dll 的引用。 打开属性选项卡,并将别名分别从全局更改为 GridV1 和 GridV2。

按照上述相同方式使用这些别名

 extern alias GridV1;  
  
 extern alias GridV2;  

现在,可以使用 别名指令为命名空间或类型创建别名。 有关详细信息,请参阅 using 指令

using Class1V1 = GridV1::Namespace.Class1;

using Class1V2 = GridV2::Namespace.Class1;

C# 语言规范

有关详细信息,请参阅 C# 语言规范。 语言规范是 C# 语法和用法的明确来源。

另请参阅