Что следует делать с именами классов, которые конфликтуют (общие) с именами каркасов

9

Что должно быть сделано именно тогда, когда наиболее очевидное имя класса для компонента занято фреймворком? В моем случае мне нужно создать класс, который описывает HTTP-запрос. Конечно, наиболее распространенное имя «принимается» как System.Web.HttpRequest. Что мне делать? Этот проект будет использоваться в веб-контексте, поэтому я бы предпочел не заставлять людей не импортировать пространство имен System.Web или вводить все мои имена классов вручную.

Какой обычный способ борьбы с этим? Я могу придумать это:

  • Префикс имени класса с кратким названием проекта
  • Попытайтесь придумать другое имя, которое означает то же самое (я пробовал и ничего не могу придумать)
  • Заставить пользователей выбирать между пространствами имен
Earlz
источник
Это действительно общий HTTP-запрос или запрос в конкретном модуле? Например, это всегда запрос к какому-либо API?
Иоахим Зауэр
@JoachimSauer Это своего рода общий HTTP-запрос. Я хотел бы использовать встроенный класс HttpRequest, но Microsoft решила сделать его закрытым классом и, следовательно, бесполезным для моего случая
Earlz 22.10.12
Чем он лучше встроенного HttpRequest? Может быть, вы могли бы использовать это, что-то вроде SecureHttpRequest.
svick

Ответы:

11

Вы можете использовать директиву using alias, чтобы избежать неоднозначности везде, например

using HttpRequest = MyCompany.MyProject.HttpRequest;
Луис Рис
источник