如何解决 .Net 命名空间与“using”的冲突? 关键词?

发布于 2024-07-04 19:27:54 字数 321 浏览 7 评论 0原文

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

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

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

Here's the problem, you include multiple assemblies and add 'using namespaceX' at the top of your code file.
Now you want to create a class or use a symbol which is defined in multiple namespaces,
e.g. System.Windows.Controls.Image & System.Drawing.Image

Now unless you use the fully qualified name, there will be a crib/build error due to ambiguity inspite of the right 'using' declarations at the top. What is the way out here?

(Another knowledge base post.. I found the answer after about 10 minutes of searching because I didn't know the right keyword to search for)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

來不及說愛妳 2024-07-11 19:27:54

使用别名

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

...

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

C# using 指令

Use alias

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

...

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

C# using directive

走走停停 2024-07-11 19:27:54

此页面有关于命名空间和使用语句的非常好的文章:

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;

This page has a very good writeup on namespaces and the using-statement:

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

You want to read the part about "Creating Aliases" that will allow you to make an alias for one or both of the name spaces and reference them with that like this:

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

ControlImage.Image myImage = new ControlImage.Image();
myImage.Width = 200;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文