天天看點

using + .net 中的别名

命名空間别名:

如果你的類的名稱恰巧和别人一樣,但是兩個類的命名空間不一樣,那麼該如何處理呢?

namespace CompanyA.AssemblyA 

    public class Console 

    { 

        public static void DoA() 

        { 

            //just do nothing 

        } 

    } 

namespace CompanyB.AssemblyB 

        public static void DoB() 

}

如果要調用的話,代碼可能會是下面這個樣子:

class Program 

    static void Main(string[] args) 

        global::System.Console.WriteLine("test"); 

        CompanyA.AssemblyA.Console.DoA(); 

        CompanyB.AssemblyB.Console.DoB(); 

很明顯,每次都要完整的寫命名空間是一件很類的事情,如果你知道命名空間别名的話,你可以這樣寫:

using SystemConsole = global::System; 

using CA = CompanyA.AssemblyA; 

using CB = CompanyB.AssemblyB; 

        SystemConsole.Console.WriteLine("test"); 

        CA.Console.DoA(); 

        CB.Console.DoB(); 

類型别名:

除了對命名空間别名的話,還可以對某個具體的類别名。

using MyIntType = System.Int32; 

using MyDoubleType = System.Double; 

namespace CAStudy 

    class AppStart 

        public static void Main() 

            MyIntType intType = 10; 

            Console.WriteLine(intType); 

            MyDoubleType doubletype = 10.0; 

            Console.WriteLine(doubletype); 

            Console.ReadLine(); 

使用了類型别名後,使用System.Int32作為參數的類型也變成了MyIntType,同樣傳回值也會發生改變。

<a href="http://images.cnblogs.com/cnblogs_com/LoveJenny/201112/201112050636161877.png"></a>

<a href="http://images.cnblogs.com/cnblogs_com/LoveJenny/201112/201112050636194055.png"></a>

本文轉自LoveJenny部落格園部落格,原文連結:http://www.cnblogs.com/LoveJenny/archive/2011/12/05/2276324.html,如需轉載請自行聯系原作者

繼續閱讀