Que faire avec les noms de classe qui entrent en conflit avec les noms de framework (communs)

9

Que faire exactement lorsque le nom de classe le plus évident pour un composant est pris par un framework? Dans mon cas, je dois créer une classe qui décrit une requête HTTP. Bien sûr, le nom le plus courant est "pris" en tant que System.Web.HttpRequest. Que devrais-je faire? Ce projet sera utilisé dans un contexte Web, donc je préfère vraiment ne pas forcer les gens à ne pas importer l'espace de noms System.Web, ou à taper tous mes noms de classe manuellement.

Quelle est la manière habituelle de gérer cela? Je peux trouver ceci:

  • Préfixe le nom de classe avec un nom abrégé de projet
  • Essayez de trouver un nom différent qui signifie la même chose (j'ai essayé et je ne peux rien trouver)
  • Forcer les utilisateurs à choisir entre les espaces de noms
Earlz
la source
S'agit-il vraiment d'une requête HTTP générique, ou s'agit-il d'une requête dans un module spécifique? Par exemple, est-ce toujours une demande à une API?
Joachim Sauer
@JoachimSauer C'est en quelque sorte une requête HTTP générique. J'aimerais utiliser la classe HttpRequest intégrée mais Microsoft a décidé d'en faire une classe scellée et donc inutile pour mon cas
Earlz
En quoi est-il meilleur que le intégré HttpRequest? Vous pourriez peut-être utiliser cela, quelque chose comme SecureHttpRequest.
svick

Réponses:

11

Vous pouvez utiliser la directive using alias pour éviter d'avoir à lever l'ambiguïté partout, par exemple

using HttpRequest = MyCompany.MyProject.HttpRequest;
Louis Rhys
la source