Co należy zrobić z nazwami klas, które są sprzeczne (wspólne) z nazwami ram

9

Co należy zrobić, gdy najbardziej oczywistą nazwą klasy dla komponentu jest struktura? W moim przypadku muszę stworzyć klasę opisującą żądanie HTTP. Oczywiście najczęstszą nazwą jest „wzięty” jako System.Web.HttpRequest. Co powinienem zrobić? Ten projekt będzie używany w kontekście internetowym, więc naprawdę nie wolę zmusić ludzi do nie importowania przestrzeni nazw System.Web lub ręcznego wpisywania wszystkich nazw klas.

Jak zwykle sobie z tym poradzić? Mogę to wymyślić:

  • Prefiks nazwy klasy krótką nazwą projektu
  • Spróbuj wymyślić inną nazwę, która oznacza to samo (próbowałem i nic nie wymyślę)
  • Zmuszaj użytkowników do wybierania między przestrzeniami nazw
Earlz
źródło
Czy to naprawdę ogólne żądanie HTTP, czy jest to żądanie w określonym module? Np. Czy zawsze jest to żądanie do jakiegoś API?
Joachim Sauer
@JoachimSauer To rodzaj ogólnego żądania HTTP. Chciałbym użyć wbudowanej klasy HttpRequest, ale Microsoft postanowił uczynić ją klasą zamkniętą, a zatem bezużyteczną w moim przypadku
Earlz
W jaki sposób jest lepszy niż wbudowany HttpRequest? Może mógłbyś tego użyć, coś w tym rodzaju SecureHttpRequest.
svick,

Odpowiedzi:

11

Możesz użyć dyrektywy using alias, aby uniknąć konieczności ujednoznacznienia wszędzie, np

using HttpRequest = MyCompany.MyProject.HttpRequest;
Louis Rhys
źródło