O que deve ser feito com nomes de classes que conflitam com nomes de estrutura (comuns)

9

O que deve ser feito exatamente quando o nome de classe mais óbvio de um componente é usado por uma estrutura? No meu caso, preciso criar uma classe que descreva uma solicitação HTTP. Obviamente, o nome mais comum é "usado" como System.Web.HttpRequest. O que devo fazer? Este projeto será usado em um contexto da Web; portanto, prefiro não forçar as pessoas a não importar o espaço para nome System.Web ou digitar todos os nomes de minhas classes manualmente.

Qual é a maneira usual de lidar com isso? Eu posso pensar nisso:

  • Prefixo do nome da classe com um nome abreviado do projeto
  • Tente criar um nome diferente que signifique a mesma coisa (tentei e não consigo criar nada)
  • Forçar os usuários a escolher entre namespaces
Earlz
fonte
É realmente uma solicitação HTTP genérica ou é uma solicitação em um módulo específico? Por exemplo, é sempre uma solicitação para alguma API?
Joachim Sauer
@JoachimSauer É uma espécie de solicitação HTTP genérica. Eu gostaria de usar a classe HttpRequest embutida, mas a Microsoft decidiu torná-la uma classe selada e, portanto, inútil para o meu caso.
Earlz
De que maneira é melhor que o embutido HttpRequest? Talvez você possa usar isso, algo assim SecureHttpRequest.
svick

Respostas:

11

Você pode usar a diretiva usando alias para evitar desambiguar em todos os lugares, por exemplo

using HttpRequest = MyCompany.MyProject.HttpRequest;
Louis Rhys
fonte