C#中的global关键字

global关键字,就是字面的意思,全局。

其实有些时候会犯一些错误,就是类名取了一个跟系统类名雷同的情况,其实这是设计上的失误,但是会出现一个情况就是没改了,那么global关键字就起到了作用。

如下代码:

View Code
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类。

 

http://luacloud.com/2011/csharp-global.html

posted @ 2013-01-07 09:41  云中雀  阅读(15916)  评论(5编辑  收藏  举报