我有C#6代码,代码如下:
Guid guid = Guid.Empty;
string value = string.Empty;
我想开始使用using static
指令并将其更改为
using static System.Guid;
using static System.String;
// ...
Guid guid = Empty;
string value = Empty;
但这只会导致两个错误
错误CS0229' Guid.Empty'之间的歧义和' string.Empty'
为什么编译器不能决定使用Empty
我想用?
答案 0 :(得分:0)
因为这不是C#编译器的设计方式。试图猜测你的意思在简单的情况下看起来很简单,就像你所展示的那样,但在其他情况下会出现问题。
例如:
var value = Empty;
string s = Empty.ToString();
F(Empty.SomeMethod());