在C#中输入此代码:
ConsoleColor c;
c =
只要您输入c =
,intellisense就会按预期显示ConsoleColor
枚举中的值列表。现在将其更改为可空:
ConsoleColor? c;
c =
键入=
后,您希望智能感知与以前一样,但它不会。我甚至无法使用CTRL+SPACE
调用枚举列表。为了正确调用intellisense,我必须输入c.Value =
,但这只会导致构建错误,因为您无法为只读属性赋值。奇怪的是,它在VB.NET中按预期工作:
Dim c As ConsoleColor?
c = ConsoleColor.Black
这只是一个错误/怪癖吗?
答案 0 :(得分:3)
编辑你可能会忽略我的答案,因为我使用的是ReSharper。我有时会忘记。
这里有一个奇怪的事情: 在VS2012中,如果我输入:
ConsoleColor? c;
c=
我没有智能感知。如果我输入:
ConsoleColor? c;
c =
我确实获得了IntelliSense。对于那些无法发现差异的人来说,它是c
和=
之间的空间。在IntelliSense弹出建议之前,我还需要在=
之后键入另一个空格。