私は2つのネームスペースがあります。純名前空間質問
1)Foo.Bar
2)Another.Foo.Bar
名前空間2内のクラスからは、どのように私は中クラスを参照ください名前空間1? Foo.Barを使用すると、名前空間2に残ります...
これは合理的には願っています!
ありがとうございました。
私は2つのネームスペースがあります。純名前空間質問
1)Foo.Bar
2)Another.Foo.Bar
名前空間2内のクラスからは、どのように私は中クラスを参照ください名前空間1? Foo.Barを使用すると、名前空間2に残ります...
これは合理的には願っています!
ありがとうございました。
global qualifierを使用する必要があります。
だけ追加します。
using GFooBar = global::Foo.Bar;
次にとしてそれを参照してください。これは、(C#の)私のために動作しません
GFooBar.MyClass = new GFooBar.MyClass();
または
global::Foo.Bar.MyClass = new global::Foo.Bar.MyClass();
クラス名を完全修飾します。最初の名前空間の型の完全修飾名は、2番目の名前空間の型の完全修飾名と同じではありません。そのタイプのフルネームがAnother.Foo.Bar.SomeType
あるので
ので、Another.Foo.Bar
名前空間内のコードから、あなたがFoo.Bar.SomeType
を言うことができる、そしてそれは区別だ、あなたの現在の名前空間にFoo.Bar.SomeType
から(C#で、少なくとも— VBは異なる動作をします)。
:/彼らは異なっていますしかし、おそらくそれはそれと関係がある。 – UpTheCreek
これはglobal::Foo.Bar
が紹介されたコーナーケースだと思います。 global::
は外側スコープを意味します。
ハンク:グローバル:: Foo.Barである必要があります。参照:http://msdn.microsoft.com/en-us/library/htccxtad%28VS.80%29.aspx –
ええ、私はすでにチェック/編集していました。 –
治療した - ありがとうございました:) – UpTheCreek