在C#中global关键字的作用及其用法
2018-10-12 14:07
681 查看
global 是 C# 2.0 中新增的关键字,理论上说,如果代码写得好的话,根本不需要用到它。
假设你现在写了一个类,名字叫 System。那么当你再在代码里写 System 的时候,编译器就不知道你是要指你写的 System 类还是系统的 System 命名空间,而 System 命名空间已经是根命名空间了,无法再通过完全限名来指定。在以前的 C# 版本中,这就是一个无法解决的问题。现在,可以通过global::System来表示 System 根命名空间,而用你自己的MyNamespace.System来表示自己的类。
当然,这种情况不应该出现,你不应该写一个名为 System 的类。
代码演示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace globalFunc
{
class Program
{
static void Main(string[] args)
{
System sys = new System();
global::System.Console.WriteLine("global.");
global::System.Console.ReadKey();
}
}
public class System { }
}
虽然using了一个System命名空间,但是下面还有一个public class System{ ... }类,这样的话,如果直接使用System.Console.WriteLine是会报错的,因为会找到就近的System类,那么这个System类里面没有Console。所以如果需要使用的话,就需要像上面一样,使用global::System.Console.WriteLine,因为使用global标记的类会从全局开始寻找,我的理解就是会从最外面逐渐向内部寻找System类。
您可能感兴趣的文章:
相关文章推荐
- C#中using关键字的作用及其用法
- C#中using关键字的作用及其用法
- C#中using关键字的作用及其用法(转)
- C#中using关键字的作用及其用法
- C#中using关键字的作用及其用法
- C#中using关键字的作用及其用法
- C#中using关键字的作用及用法
- C#中using关键字的作用及用法
- explicit关键字的作用及其用法
- C#中using关键字的作用及用法
- 【转】C#中using关键字的作用及用法
- python中作用域以及global关键字的用法
- 关于C#中params关键字的作用及用法
- C#关键字及其用法整理
- 3.关于作用域知识的额外补充global和nonlocal关键字
- C-C++中const关键字的用法及其与宏常量的比较
- C#里partial关键字的作用
- volatile关键字及其作用
- C# Eval在asp.net中的用法及作用
- java中关键字 this 和super的作用及用法