C#中命名空間別名的使用

C#中使用命名空間來分割不一樣的層級,在不一樣的層級中能夠使用相同的類聲明和變量聲明。在程序中使用不一樣命名空間的下的相同名稱的類時:能夠用一下這幾種方法進行限定:spa

1.使用徹底限定名code

using System;namespace NamespaceExample
{
    class Test { }

    namespace InnerNamespace
    {
        class Test { }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(typeof(NamespaceExample.Test));
            Console.WriteLine(typeof(InnerNamespace.Test));
        }
    }
}

 

2.命名空間別名:給不一樣的命名空間取個別名orm

using System;
using WinFroms = System.Windows.Forms;
using WebForms = System.Web.UI.WebControls;

namespace NamespaceExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(typeof(WinFroms.Button));
            Console.WriteLine(typeof(WebForms.Button));
       Console.ReadKey(); } } }


3.全局命名空間命名:當一個類不存在人和命名空間時,能夠是用global限定名進行選擇blog

using System;
class Test { }
namespace NamespaceExample
{
    class Test { }
    class Program
    {
        static void Main(string[] args)
        {
            //不使用限定名向上搜索匹配的命名空間,查找不到會輸出錯誤
            Console.WriteLine(typeof(Test));
            Console.WriteLine(typeof(global::Test));
        }
    }
}

 

4.外部別名
使用外部別名的話須要先在引用的特性那裏設置別名爲:ExtenNspstring

 

而後在代碼中使用it

 

extern alias ExtenNsp;
using System;

namespace NamespaceExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(typeof(ExtenNsp::System.Data.DataRowComparer));
        }
    }
}
相關文章
相關標籤/搜索