您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C#中如何使用別名指示符,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
C#別名指示符是什么?
通過C#別名指示符我們可以為某個類型起一個別名,主要用于解決兩個命名空間內有同名類型的沖突或避免使用冗余的命名空間,C#別名指示符在所有命名空間最外層定義,作用域為整個單元文件。如果定義在某個命名空間內,那么它只在直接隸屬的命名空間內起作用。
示例:
Class1.cs: using System; using System.Collections.Generic; using System.Text; namespace com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01 { class Class1 { public override string ToString() { return "com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01's Class1"; } } } Class2.cs: using System; using System.Collections.Generic; using System.Text; namespace com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib02 { class Class1 { public override string ToString() { return "com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib02's Class1"; } } } 主單元(Program.cs): using System; using System.Collections.Generic; using System.Text; //使用別名指示符解決同名類型的沖突 //在所有命名空間最外層定義,作用域為整個單元文件 using Lib01Class1 = com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01.Class1; using Lib02Class2 = com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib02.Class1; namespace Example19 { namespace Test1 { //Test1Class1在Test1命名空間內定義,作用域僅在Test1之內 using Test1Class1 = com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01.Class1; class Class1 { //Lib01Class1和Lib02Class2在這可以正常使用 Lib01Class1 tmpObj1 = new Lib01Class1(); Lib02Class2 tmpObj2 = new Lib02Class2(); //TestClass1在這可以正常使用 Test1Class1 tmpObj3 = new Test1Class1(); } } namespace Test2 { using Test1Class2 = com.nblogs.reonlyrun.CSharp25QExample.Example19.Lib01.Class1; class Program { static void Main(string[] args) { //Lib01Class1和Lib02Class2在這可以正常使用 Lib01Class1 tmpObj1 = new Lib01Class1(); Lib02Class2 tmpObj2 = new Lib02Class2(); //注意這里,TestClass1在這不可以正常使用。 //因為,在Test2命名空間內不能使用Test1命名空間定義的別名 //Test1Class1 tmpObj3 = new Test1Class1(); //TestClass2在這可以正常使用 Test1Class2 tmpObj3 = new Test1Class2(); Console.WriteLine(tmpObj1); Console.WriteLine(tmpObj2); Console.WriteLine(tmpObj3); Console.ReadLine(); } } } }
關于C#中如何使用別名指示符就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。