Deseo asegurarme de que el número que proporciona una persona sea legítimo HttpStatusCode.¿Cómo puedo verificar si un int es un HttpStatusCode legítimo en .NET?
Al principio pensó en utilizar Enum.TryParse(..)
o Enum.Parse(..)
pero es posible consigo un resultado no válido con algunos malos datos proporcionados ..
por ejemplo.
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.
Ok, así que si paso en una mala relación calidad-aaa , consigo la excepción System.Argument. Pero cuando paso el número 1 (como texto, no como int) obtengo el valor de retorno de 1. Hubiera esperado que fallara y emitiera una excepción.
Al pasar un valor de 400 hace devolver la enumeración correcta BadRequest
.
¿Alguna idea, amigos?
Sir/señora, usted es un caballero/una dama y un erudito!/Me susurra Woot^Woot! –