Как заставить корневое пространство имен C # во всех файлах проекта, если ни один из них не закодирован? - PullRequest
4 голосов
/ 14 февраля 2010

Я хочу принудительно установить корневое пространство имен для содержимого любых исходных файлов .cs, содержимое которых не заключено в явное namespace. Другими словами, я хочу сохранить классы и другие структуры уровня пространства имен вне пространства имен по умолчанию.
(Работа в среде Windows .NET с Visual Studio)

В следующем примере я хочу принудительно заставить класс Car в пространство имен MotorIndustry по умолчанию, даже если оно не имеет явного кодированного пространства имен.

Vehicle.cs (имеет пространство имен)

namespace MotorIndustry {
    public class Vehicle {
        // ...
    }
}

Car.cs (без пространства имен / по умолчанию)

public class Car : Vehicle {
    //...
}

Есть ли способ выполнить это поведение модификации "корневого пространства имен" с помощью настроек проекта в Visual Studio, файле AssemblyInfo.cs или другими способами?

Насколько я понимаю, VB.NET имеет такую ​​функцию, но C # действует по-другому?

Некоторый контекст о том, почему я спрашиваю это: у меня есть сотни классов, и программист забыл обернуть пространство имен вокруг некоторых. Когда я ссылаюсь на сборку из других проектов, она загрязняет пространство имен по умолчанию классами, которые в итоге приводят к неоднозначным ситуациям.

Ответы [ 2 ]

5 голосов
/ 14 февраля 2010

Похоже, вы пытаетесь повторить функцию пространства имен проекта VB.Net в C #. Это не поддерживаемая функция компилятора C # или IDE. Вы не сможете создать его, изменив файл проекта. Вам нужно будет добавить пространство имен к каждому файлу в проекте вручную или с помощью инструмента.

5 голосов
/ 14 февраля 2010

Используйте ReSharper для перемещения классов в правильное пространство имен. Фактически, версия 5.0 (все еще в бета-версии) позволяет корректировать пространства имен глобально.


Другой способ сделать это - заставить другого разработчика исправить код.

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