「using」キーワードとの .Net 名前空間の競合をどのように解決しますか?
-
09-06-2019 - |
質問
ここで問題が発生します。複数のアセンブリをインクルードし、コード ファイルの先頭に「using namespaceX」を追加します。
次に、クラスを作成するか、複数の名前空間で定義されているシンボルを使用します。
例えば。 System.Windows.Controls.Image
& System.Drawing.Image
完全修飾名を使用しない限り、上部で適切な 'using' 宣言を行っているにもかかわらず、あいまいさが原因で crib/build エラーが発生します。ここから出る方法は何ですか?
(別のナレッジベースの投稿..検索する適切なキーワードがわからなかったので、10分ほど検索して答えを見つけました)
解決
エイリアスを使用する
using System.Windows.Controls;
using Drawing = System.Drawing;
...
Image img = ... //System.Windows.Controls.Image
Drawing.Image img2 = ... //System.Drawing.Image
他のヒント
このページには、名前空間と using ステートメントについて非常に詳しく書かれています。
http://www.blackwasp.co.uk/Namespaces.aspx
「エイリアスの作成」に関する部分を読んでください。これにより、次のように、名前空間の一方または両方のエイリアスを作成し、それを使用してエイリアスを参照できるようになります。
using ControlImage = System.Windows.Controls.Image;
using System.Drawing.Image;
ControlImage.Image myImage = new ControlImage.Image();
myImage.Width = 200;
所属していません StackOverflow