名前空間や型名を変更せずに、次のコードを C# で有効にすることはできますか? この問題の周りにトリックまたはキーワードがあるかどうか疑問に思っていますか?
namespace NS
{
public class Foo { }
}
namespace NS.Foo
{
public class Bar { }
}
私が得ているエラーは、「名前空間 'NS' には既に 'Foo' の定義が含まれています」です。
名前空間や型名を変更せずに、次のコードを C# で有効にすることはできますか? この問題の周りにトリックまたはキーワードがあるかどうか疑問に思っていますか?
namespace NS
{
public class Foo { }
}
namespace NS.Foo
{
public class Bar { }
}
私が得ているエラーは、「名前空間 'NS' には既に 'Foo' の定義が含まれています」です。
いいえ - サブクラスがFoo
calledにあると想像してくださいBar
:
namespace NS
{
public class Foo { public class Bar {} }
}
namespace NS.Foo
{
public class Bar { }
}
次の場合、どのように違いを見分けることができますnew NS.Foo.Bar()
か?
NS.Foo
いいえ、名前空間とクラスから明確にする方法はありませNS.Foo
ん。
本質的に、いいえ、ありません。目先のあいまいさを何らかの方法で解決できたとしても、この問題は根底から解決できません。named のプロパティを宣言するとどうなるFoo
でしょBar
うか。
のいずれかの名前を変更しますFoo
。