using Foo.Uber;
namespace MyStuff.Foo
{
    class SomeClass{
        void DoStuff(){
            // I want to reference the outer "absolute" Foo.Uber
            // but the compiler thinks I'm refering to MyStuff.Foo.Uber
            var x = Foo.Uber.Bar();
        }
    }
}我该怎么解决这个问题呢?只是在我的名称空间中移动using语句是没有帮助的。
发布于 2011-05-17 21:57:46
您可以使用namespace alias qualifier (通常是global::)来引用默认的/根名称空间来完成此操作:
global::Foo.Uber
发布于 2011-05-17 22:00:26
实际上,您可以通过指定完整路径
var x = global::Foo.Uber.Bar();命名空间概述
命名空间具有以下属性:
我更喜欢它而不是别名,因为当你读到它时,你就会确切地知道发生了什么。如果您跳过别名的定义,则很容易产生误解。
发布于 2011-05-17 22:00:51
在using语句中为命名空间添加别名:
using ThatOuterFoo = Foo.Uber;
...
...
//Some time later...
var x = ThatOuterFoo.Bar();https://stackoverflow.com/questions/6031862
复制相似问题