当前位置:  开发笔记 > 编程语言 > 正文

Visual Studio 8中程序集引用的Aliases属性有何用处

如何解决《VisualStudio8中程序集引用的Aliases属性有何用处》经验,为你挑选了2个好方法。

当我在Visual Studio 8中向项目添加程序集引用时,该引用的Aliases属性设置为"global".这个属性有什么用?为什么它设置为全局?

MSDN告诉我,这是程序集的别名列表,但不是为什么我可能想要使用此属性或为什么大多数别名为"全局".

MSDN参考



1> Jon Skeet..:

这是"外部别名".假设您要使用两种不同的类型,这两种类型都被调用Foo.Bar(即Bar在命名空间中Foo).这两种类型将在不同的程序集中(根据定义) - 您使用VS中的属性将别名与每个引用相关联,然后您可以执行以下操作:

extern alias FirstAlias;
extern alias SecondAlias;

using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;

然后在代码中使用FirstBarSecondBar.

所以基本上它是一个额外的命名级别 - 你不应该使用它,除非你真的,真的必须.这会让很多人感到困惑.尽量避免首先进入这种情况 - 但要注意那些你无法避免的解决方案.


Infragistics4.Documents.Excel.v13.2和InfragisticsWPF4.Documents.Excel.v13.2都有此问题。在合并将Windows.Forms和WPF混合在一起的两个项目的过程中。

2> Marc Gravell..:

搜索" extern alias "; 它是一个非常少使用的功能,只需要消除两个贡献相同类型的dll之间的歧义(例如,同一个程序集的两个不同版本,或者两个具有共享完全限定名称的类的程序集).

"global"是默认值.例如,如果您有一个被调用的类Foo.System,则可以通过明确地引用主System命名空间global::System.

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有