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


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

1.使用完全限定名

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.命名空間別名:給不同的命名空間取個別名

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限定名進行選擇

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.外部別名
使用外部別名的話需要先在引用的特性那里設置別名為:ExtenNsp

 

然后在代碼中使用

 

extern alias ExtenNsp;
using System;

namespace NamespaceExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(typeof(ExtenNsp::System.Data.DataRowComparer));
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM