2011-10-28 24 views
0

私は、StyleCopを使ってコーディングスタイルを検証するプロジェクトに取り組んでいます。インポートされた名前空間のエイリアス

using AF.Data.Oracle 
{ 
    using Oracle.DataAccess.Client; // *** Compile error here *** 

    class Foo {} 
} 

をしかし、私は常に「AF.Data.Oracle」名前空間で見つからなかったことを型「DATAACCESS」を伝えるエラーが表示されます。それは次のように私のコードを書くために私を強制します。

Oracle.DataAccess.Clientのすべてのタイプにエイリアスを使用できますが、これはいくつかの別名定義を追加することになります。

しかし、名前空間にエイリアスのようなものを使用することはできますか?

答えて

4

global namespace aliasを使用します。

namespace AF.Data.Oracle 
{ 
    using global::Oracle.DataAccess.Client; 

    class Foo {} 
} 

これはAF.Data.Oracleと名前空間のルートであるOracleを意味確保することによってOracleで始まる名前空間の間で名前空間の衝突を避けることができます。

+0

おそらく、名前空間の衝突が発生していることを明確にすることができます(AF.Data.Oracleはより近い一致であるため)、曖昧さを解消するために名前を修飾する必要がありました – sehe

関連する問題