我知道我可以将结果从 GetHttpCode() 类型转换为 HttpStatusCode ,但我不喜欢类型转换枚举。特别是因为 MSDN 文档没有明确说明枚举的值始终是准确对应的 http 状态代码。
我觉得 GetHttpCode() 应该只返回 HttpStatusCode 。
我应该停止提示和排版吗?
catch(HttpException ex)
{
switch((HttpStatusCode)ex.GetHttpCode())
{
case HttpStatusCode.NotFound:
// Do stuff...
break;
// More cases...
}
}
编辑:注意 HttpWebResponse.StatusCode 是 HttpStatusCode 类型
最佳答案
值得注意的是,HTTP 允许自定义状态代码,因此不能保证枚举将包含响应中的值。出于这个原因,API 返回 int
值而不是尝试使用枚举是明智的。
关于c# - 为什么 HttpException.GetHttpCode() 返回 int 而不是 System.Net.HttpStatusCode?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12673437/