Daniro_San
@Daniro_San
Программист

Смысл дефолтного namespace?

Понимаю что вопрос немного детский, но всё же.
Никогда не понимал в чужом коде, зачем оставлять охватывающее весь код namespace которое создаёт студия ?
Зачем вообще студия его генерирует, ведь смысла в создании одного namespace для *.exe нет?
Применение namespace охватывающему весь проект вижу только в одном случае -- для библиотек (*.dll).
Вопрос задан из-за того что я устал каждый раз вычищать созданное студией общее namespace для проекта исполняемого приложения.
  • Вопрос задан
  • 384 просмотра
Решения вопроса 2
Если дефолтный namespace не нужен в exe, то нужен ли он в библиотеке, которой никто кроме вас никогда не будет пользоваться? Если все так будут размышлять, то рано или поздно мы вернемся к аду dll, только уже для классов. Именно поэтому Майкрософт рекомендует обзывать namespace как CompanyName.TechnologyName[.Feature][.Design]
Ответ написан
Комментировать
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
Это ограничение C# и её объектной модели. Каждый класс должен быть определён в пространстве имён (чёрт, ну русский же есть!), как его называть - ваше право. Необходим он, чтобы избежать коллизии имён. Причина по которой создаётся пространство имён по умолчанию очень проста - изменять стороннее пространство имён вне своих приложение/библиотек вы никак не можете, но и без оного код никак не соберётся в исполняемую кучу.

UPD. Вообще говоря, если не указывать namespace, то его принято называть assembly. И это не самая правильная практика.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы