我希望确保一个人提供的数字是合法的HttpStatusCode。
起初我想使用Enum.TryParse(..)
orEnum.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
枚举。
有什么想法吗,伙计们?