web-dev-qa-db-ja.com

System.Net.Http.HttpMethodが列挙型ではなくクラスであるのはなぜですか?

HttpStatusCodeenumとして実装され、可能な各値が対応するHTTPステータスコードに割り当てられます(例:(int)HttpStatusCode.Ok == 200)。

ただし、HttpMethodclass として実装され、さまざまなHTTP動詞(HttpStatus.GETHttpStatus.PUTなど)。 HttpMethodenumとして実装するの背後にある根拠は何ですか

20
Tomas Aschan

documentation (私の強調)から:

備考

HttpMethodの最も一般的な使用法は、このクラスの静的プロパティの1つを使用することです。 ただし、アプリがHTTPメソッドに別の値を必要とする場合、HttpMethodコンストラクターは、アプリが指定するHTTPメソッドを使用してHttpMethodの新しいインスタンスを初期化します。

もちろんこれは列挙型では不可能です。

コンストラクタ および メソッドプロパティ を参照してください。

24
sloth