Как я могу проверить, является ли int допустимым HttpStatusCode в.NET?

. Я хочу убедиться что номер, предоставленный человеком, является законным HttpStatusCode .

Сначала я думал об использовании Enum.TryParse(..)или Enum.Parse(..), но возможно, что я получу неверный результат с некоторыми предоставленными неверными данными..

например.

In: Enum.Parse(typeof (HttpStatusCode), "1")
Out: 1

In: Enum.Parse(typeof (HttpStatusCode), "400")
Out: BadRequest

In: Enum.Parse(typeof (HttpStatusCode), "aaa")
Out: System.ArgumentException: Requested value 'aaa' was not found.

Итак, если я передам неверное значение aaa , я получу исключение System.Argument. Но когда я передаю число 1 (в виде текста, а не int ), я получаю возвращаемое значение 1. Я ожидал, что это не удастся и выдаст исключение.

Передача значения 400 возвращает правильное перечисление BadRequest.

Есть идеи, ребята?

5
задан Pure.Krome 29 April 2012 в 06:49
поделиться