Как вы заставляете пространства имен VB.NET вести себя как C #? - PullRequest
3 голосов
/ 04 марта 2010

Я конвертирую проекты из C # в Visual Basic, а пространства имен в VB.NET ведут себя странным образом. Есть какое-то скрытое пространство имен по умолчанию, и это раздражает. Я хочу, чтобы он вел себя идентично C #, который работает как положено - все идет в пространства имен, которые вы для них создаете.

Я обычно обхожу это, скажем,

using MyClassLibrary;

в C # и в VB

Imports MyClassLibrary
Imports MyClassLibrary.MyClassLibrary

но было бы неплохо, чтобы функциональность была такой же, а также логичной.

Другая большая проблема в том, что у меня есть файл .tt, и проект C # генерирует код в другом пространстве имен, чем VB.

Есть ли какое-то решение, позволяющее им обоим вести себя одинаково по отношению к пространствам имен?

Ответы [ 3 ]

6 голосов
/ 04 марта 2010

Проверка Корневое пространство имен в опциях проекта VB. Просто очистите это.

Это не то же самое, что Пространство имен по умолчанию в проектах C #. Если вы измените пространство имен по умолчанию в проектах C #, существующие файлы не изменятся. Однако если вы измените корневое пространство имен в проекте VB, это повлияет на всех существующих участников.

1 голос
/ 25 марта 2010

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

0 голосов
/ 04 марта 2010

Проверьте свойства проекта, есть опция пространства имен по умолчанию, которая может быть установлена ​​в проекте VB, но не в C #. Пространства имен должны вести себя одинаково на всех языках, за исключением пространства имен VB "My".

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