【发布时间】:2014-01-27 17:53:16
【问题描述】:
考虑以下代码:
void Main()
{
HttpVersion version;
string s = "HTTP/1.1";
version = s == "HTTP/1.1" ? HttpVersion.Version11 : HttpVersion.Version10;
}
这会引发错误
无法将类型“System.Version”隐式转换为“System.Net.HttpVersion”
尽管System.Version 无处可推断,甚至不是HttpVersion's inheritance 的一部分。
显式转换
void Main()
{
HttpVersion version;
string s = "HTTP/1.1";
version = s == "HTTP/1.1" ? (HttpVersion) HttpVersion.Version11 : (HttpVersion) HttpVersion.Version10;
}
或显式命名空间命名
void Main()
{
System.Net.HttpVersion version;
string s = "HTTP/1.1";
version = s == "HTTP/1.1" ? System.Net.HttpVersion.Version11 : System.Net.HttpVersion.Version10;
}
不要有所作为。
问题很简单:为什么System.Version 会干扰应该是不相关的类?
【问题讨论】:
标签: c# .net system.net