[.NET]使用命名空間別名限定詞
MSDN中的說明,如果程式中有將.NET系統的成員被其他同名的實體隱藏的時候,可以使用 global:: 來使用 .NET系統的成員 ,如下,
global::System.Console
詳細可參考「使用命名空間別名限定詞」。
以下筆者想要分享的是如果本身的系統中因為使用了using namespace,然後造成重覆了(有時不同組件中都會有Toolkit這個Class),這時VS.NET就會跟你說「'XXXX' 參考在 'XXXX' 和 'XXXX' 之間模稜兩可」。
以下我們使用範例來說明,
以上我們建立2個Toolkit的Class,分別在 namespace MyTools.工具組A 及 namespace MyTools.工具組A 之中。
程式中,我們分別使用using如下,
using MyTools.工具組A;
using MyTools.工具組B;
然後程式中寫入
Toolkit tk= new Toolkit();
就會出現「'Toolkit' 參考在 'MyTools.工具組A.Toolkit' 和 'MyTools.工具組B.Toolkit' 之間模稜兩可」的錯誤。
這時,解決方法有以下幾個方式,
1.使用full namespace方式,改成如下
MyTools.工具組A.Toolkit tk = new MyTools.工具組A.Toolkit();
MyTools.工具組B.Toolkit tkB = new MyTools.工具組B.Toolkit();
2.使用 namespace 別名的方式,如下,
using TA = MyTools.工具組A;
using TB = MyTools.工具組B;
然後程式使用 namespace 別名
TA.Toolkit tk = new TA.Toolkit();
TB.Toolkit tkB = new TB.Toolkit();
如果下次再遇到這種情形,就可以使用 namespace別名 的方式來解決哦!
VB.NET 也可以的哦!
以上內容是看了「請問C#中的using用意以及一些問題」後的感想。
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^