命名空间别名限定符(::
)用于查找标识符,它在指定的别名的命名空间中查找运算符,如下代码是在全局名称空间中查找System.Console.WriteLine("Hello World");global是全局名称空间的别名。
global::System.Console.WriteLine("Hello World");
我们可以定义自己的名称空间别名,如下代码在我们指定的别名Col名称空间中查找List<int>。
// using Col=System.Collections.Generic; var numbers = new Col::List<int> { 1, 2, 3 };
使用命名空间别名限定符的好处是可以让我们清楚的指定使用哪个名称空间中的对象。比如下面的代码我们定义了别名MyNameSpaceAlias,代码MyNameSpaceAlias.MyClass myClass=new MyClass()使用的是MyRootNameSpace.MyNameSpaceAlias.Class1,如果要使用别名名称空间的Class1,就要使用命名空间别名限定符。
using MyNameSpaceAlias =MyRootNameSpace.MyNestedNameSpace; namespace MyRootNameSpace { namespace MyNameSpaceAlias { public class MyClass { } public class Class1 { MyNameSpaceAlias.MyClass myClass=new MyClass();//MyRootNameSpace.MyNameSpaceAlias.Class1 MyNameSpaceAlias::MyClass myClass =new MyNameSpaceAlias::MyClass();//MyNestedNameSpace.MyClass } } namespace MyNestedNameSpace { public class MyClass { } } }