我们如何解决.Net名称空间与" using"关键字冲突?

时间:2020-03-05 18:52:57  来源:igfitidea点击:

这就是问题所在,我们包括多个程序集,并在代码文件的顶部添加了" using namespaceX"。
现在,我们要创建一个类或者使用在多个名称空间中定义的符号,
例如System.Windows.Controls.Image和System.Drawing.Image

现在,除非我们使用标准名称,否则尽管顶部使用了正确的"使用"声明,但由于模棱两可,将导致婴儿床/构建错误。这里的出路是什么?

(另一篇知识库文章。大约10分钟的搜索后,我找到了答案,因为我不知道要搜索的关键词是什么)

解决方案

回答

使用别名

using System.Windows.Controls;
using Drawing = System.Drawing;

...

Image img = ... //System.Windows.Controls.Image
Drawing.Image img2 = ... //System.Drawing.Image

如何:使用命名空间别名限定符(C#)

回答

该页面对名称空间和using语句有很好的撰写:

http://www.blackwasp.co.uk/Namespaces.aspx

我们想阅读有关"创建别名"的部分,该部分将允许我们为一个或者两个名称空间创建别名,并使用如下名称进行引用:

using ControlImage = System.Windows.Controls.Image;
using System.Drawing.Image;

ControlImage.Image myImage = new ControlImage.Image();
myImage.Width = 200;