0

名前空間や型名を変更せずに、次のコードを C# で有効にすることはできますか? この問題の周りにトリックまたはキーワードがあるかどうか疑問に思っていますか?

namespace NS
{
    public class Foo { }
}

namespace NS.Foo
{
    public class Bar { }
}

私が得ているエラーは、「名前空間 'NS' には既に 'Foo' の定義が含まれています」です。

4

3 に答える 3

4

いいえ - サブクラスがFoocalledにあると想像してくださいBar:

namespace NS
{
    public class Foo { public class Bar {} }
}

namespace NS.Foo
{
    public class Bar { }
}

次の場合、どのように違いを見分けることができますnew NS.Foo.Bar()か?

于 2013-08-12T14:51:36.697 に答える
0

NS.Fooいいえ、名前空間クラスから明確にする方法はありませNS.Fooん。

于 2013-08-12T14:51:35.260 に答える
0

本質的に、いいえ、ありません。目先のあいまいさを何らかの方法で解決できたとしても、この問題は根底から解決できません。named のプロパティを宣言するとどうなるFooでしょBarうか。

のいずれかの名前を変更しますFoo

于 2013-08-12T14:51:59.090 に答える