21

这是问题所在,您包含多个程序集并在代码文件的顶部添加“使用命名空间X”。
现在您想创建一个类或使用在多个命名空间中定义的符号,例如System.Windows.Controls.Image&System.Drawing.Image

现在,除非您使用完全限定名称,否则尽管顶部有正确的“使用”声明,但由于歧义,将会出现婴儿床/构建错误。这里的出路是什么?

(另一个知识库帖子。。我搜索了大约 10 分钟后找到了答案,因为我不知道要搜索的正确关键字)

4

2 回答 2

33

使用别名

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

...

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

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

于 2008-09-14T10:55:05.313 回答
6

这个页面对命名空间和使用语句有很好的描述:

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;
于 2008-09-14T10:56:15.577 回答