我希望确保人们提供的数字是一个合法的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
枚举。
有任何想法吗,伙计们?