web-dev-qa-db-fra.com

Pourquoi System.Net.Http.HttpMethod est une classe, pas une énumération?

HttpStatusCode est implémenté en tant que enum, chaque valeur possible étant affectée à son code d'état HTTP correspondant (par exemple (int)HttpStatusCode.Ok == 200).

Cependant, HttpMethod est implémenté en tant que class , avec des propriétés statiques pour obtenir des instances pour les différents verbes HTTP (HttpStatus.GET, HttpStatus.PUT etc). Quelle est la justification derrière pas l'implémentation de HttpMethod en tant que enum?

20
Tomas Aschan

De la documentation (accent sur le mien):

Remarques

L'utilisation la plus courante de HttpMethod consiste à utiliser l'une des propriétés statiques de cette classe. Cependant, si une application a besoin d'une valeur différente pour la méthode HTTP, le constructeur HttpMethod initialise une nouvelle instance de HttpMethod avec une méthode HTTP spécifiée par l'application.

Ce qui n'est bien sûr pas possible avec une énumération.

Voir son constructeur et propriété de méthode .

24
sloth