Есть ли способ позволить компилятору определять пространство имен моих классов, основываясь на структуре каталогов моего проекта? - PullRequest
2 голосов
/ 09 декабря 2011

В проектах .NET и Visual Studio принято, чтобы физическая структура каталогов вашего проекта напоминала структуру пространства имен проекта.Я полностью согласен с этим, и каждый раз, когда я работаю над проектом, который нарушает это руководство, у меня возникают проблемы с поиском типов, потому что зачастую неясно, как перемещаться по иерархии пространства имен.

Однако проблема, с которой я сталкиваюсь, заключается в том, что переноскаждый класс в namespace является избыточным при использовании данного руководства.Кроме того, в дальнейшем очень сложно (без коммерческих инструментов рефакторинга) реструктурировать структуру проекта, потому что каждый файл должен быть изменен.

Я считаю, что перемещение классов в другое пространство имен должно быть просто перетаскиванием. 'Переместите этот файл в другой каталог.

Итак, как мы можем этого достичь?Есть ли способ позволить компилятору (или любому другому инструменту) определять пространство имен моих классов (во время компиляции), основываясь на структуре каталогов моего проекта?

1 Ответ

5 голосов
/ 09 декабря 2011

Resharper может обнаруживать пространства имен в коде, которые не соответствуют физическому расположению. К сожалению, Решарпер не из дешевых.

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

ИМХО, это должно быть встроено в Visual Studio.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...