我知道我可以将GetHttpCode()的结果强制转换为HttpStatusCode,但我不喜欢转换枚举类型。特别是因为MSDN文档没有明确说明枚举值始终是精确对应的HTTP状态码。
我觉得GetHttpCode()应该直接返回HttpStatusCode。
我应该停止抱怨并进行强制类型转换吗?
注意,HttpWebResponse.StatusCode 的 类型 是 HttpStatusCode。
我觉得GetHttpCode()应该直接返回HttpStatusCode。
我应该停止抱怨并进行强制类型转换吗?
catch(HttpException ex)
{
switch((HttpStatusCode)ex.GetHttpCode())
{
case HttpStatusCode.NotFound:
// Do stuff...
break;
// More cases...
}
}
注意,HttpWebResponse.StatusCode 的 类型 是 HttpStatusCode。
HttpStatusCode
是一个枚举而不是只有常量整数的静态类。这里有个人定义了自己的枚举以支持自定义值(WebDAV?):http://devio.wordpress.com/2007/11/14/http-status-codes-in-c/。`HttpWebResponse.StatusCode` 的类型确实是HttpStatusCode
。我认为它可能包含未定义的枚举值,这很容易让人感到困惑。 - Matthijs Wessels