C#中使用命名空間來分割不同的層級(jí),在不同的層級(jí)中可以使用相同的類聲明和變量聲明。在程序中使用不同命名空間的下的相同名稱的類時(shí):可以用一下這幾種方法進(jìn)行限定:
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.命名空間別名:給不同的命名空間取個(gè)別名
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.全局命名空間命名:當(dāng)一個(gè)類不存在人和命名空間時(shí),可以是用global限定名進(jìn)行選擇
using System;class Test { }namespace NamespaceExample{ class Test { } class Program { static void Main(string[] args) { //不使用限定名向上搜索匹配的命名空間,查找不到會(huì)輸出錯(cuò)誤 Console.WriteLine(typeof(Test)); Console.WriteLine(typeof(global::Test)); } }}
4.外部別名
使用外部別名的話需要先在引用的特性那里設(shè)置別名為:ExtenNsp
然后在代碼中使用
extern alias ExtenNsp;using System;namespace NamespaceExample{ class Program { static void Main(string[] args) { Console.WriteLine(typeof(ExtenNsp::System.Data.DataRowComparer)); } }}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注