Возможно ли сделать следующий код действительным на C# без изменения моего пространства имен или имени типа. Мне интересно, есть ли трюк или ключевое слово вокруг этой проблемы?Пространство имен и тип конфликта конфликтов
namespace NS
{
public class Foo { }
}
namespace NS.Foo
{
public class Bar { }
}
Ошибка, которую я получаю, это «пространство имен« NS »уже содержит определение для« Foo ».
Не делайте этого: http://blogs.msdn.com/b/ericlippert/archive/2010/03/09/do-not-name-a-class-the-same-as-its-namespace -part-one.aspx – jason
Wwwwwww, нет, вы не хотите этого делать. Это будет раздражать вас и всех, кто использует эту кодовую базу, в кратчайшие сроки. –
@Jason: ваша ссылка относится к классу, который является тем же именем, что и его пространство с * охватывающим * (то есть, класс 'NS.NS' или' NS.Foo.Foo'), что не совпадает с сценарием в вопрос - это пространство имен и класс на том же уровне иерархии с тем же именем. –