C#中的命名空间冲突

时间:2011-04-15 19:40:05

标签: c# namespaces

我的程序命名空间中有一个System命名空间。结果我无法从我的内部看到标准System命名空间。我该如何解决这个问题?

enter image description here

例如在C ++中有::运算符将我“移出”我的命名空间,因此我可以看到与我当前命名空间同名的外部命名空间:

enter image description here

C#中是否有类似的运算符?

4 个答案:

答案 0 :(得分:80)

您需要使用global关键字。这迫使命名空间解析从最顶层开始。它主要用在生成的代码中,以确保引用正确的命名空间。

 global::System.Foo.Bar;

关于它的一些MSDN文档:http://msdn.microsoft.com/en-us/library/c3ay4x3d.aspx

答案 1 :(得分:13)

为了更方便,您也可以给它一个别名:

using GSystem = global::System;

允许您将全局System命名空间称为GSystem或您想要称之为的任何其他名称。

答案 2 :(得分:4)

是的

global::System

虽然您与系统发生冲突但很奇怪。

除了系统本身之外,什么都不应该声明该命名空间....

答案 3 :(得分:4)

您可以使用global