Нескольких пространств имен в одном проекте

Я считаю, что иногда мне нужно иметь несколько пространств имен в проекте, над которым я работаю -существуют ли проблемы, которые могут возникнуть из-за наличия нескольких пространств имен в одном проекте?
Альтернатива, очевидно, имеет несколько проектов (на пространство имен) в решении.

3 ответов


Да, все в порядке. Часто мои пространства имен выравниваются по структуре папок проекта. Таким образом, пространство имен верхнего уровня может быть одинаковым для всего проекта, но будет несколько подпространств.

целями пространств имен являются (1) Организация и (2) избежание коллизий имен, не обязательно в этом порядке. В то время как разделение вещей на несколько проектов больше, потому что вы хотите несколько двоичных файлов или хотите поделиться кодом между несколькими решениями. Это несколько ортогональные проблемы.


да много классов в одном пространстве имен. Многие пространства имен в проекте полностью прекрасны. Это косметика.


ответ на этот вопрос, не вдаваясь в лучшие практики, заключается в том, что не будет никаких технических проблем при использовании нескольких пространств имен в одном проекте.

однако visual studio поддерживает только одно базовое пространство имен, которое находится в свойствах проекта (щелкните правой кнопкой мыши Свойства в обозревателе решений в самом проекте) , и при создании нового файла он будет создан с этим пространством имен по умолчанию (если в корневом каталоге) или с пространством имен по умолчанию плюс какая-либо папка структура у вас.

не проблема сама по себе, но вам нужно будет вручную проверить каждый новый файл C#, который вы добавляете в проект, и соответственно изменить пространство имен, если этот конкретный файл не будет использовать пространство имен по умолчанию для проекта.