为什么在C#中使用全局关键字?

我想了解您为什么要使用global::前缀。在以下代码中,ReSharper将其标识为冗余,并且可以将其删除:

关键字global::使编译器绑定从全局命名空间开始的名称,而不是从当前上下文开始的名称。当一个可绑定成员存在于一个与全局成员同名的给定上下文中,并且需要全局成员时,就需要它

比如说

类测试{
类系统{}
公共无效示例(){
System.Console.WriteLine(“此处”);//由于系统绑定到Test.System,因此出错
global::System.Console.WriteLine(“此处”);//有效
}

相应的MSDN页面还有几个示例(包括上面的示例)

  • http://msdn.microsoft.com/en-us/library/c3ay4x3d.aspx

发表评论