Nullable枚举不会触发智能感知枚举值列表中的智能感知#

时间:2014-04-24 12:05:17

标签: c# enums visual-studio-2013 intellisense nullable

在C#中输入此代码:

ConsoleColor c;

c = 

只要您输入c =,intellisense就会按预期显示ConsoleColor枚举中的值列表。现在将其更改为可空:

ConsoleColor? c;

c = 

键入=后,您希望智能感知与以前一样,但它不会。我甚至无法使用CTRL+SPACE调用枚举列表。为了正确调用intellisense,我必须输入c.Value =,但这只会导致构建错误,因为您无法为只读属性赋值。奇怪的是,它在VB.NET中按预期工作:

Dim c As ConsoleColor?

c = ConsoleColor.Black

这只是一个错误/怪癖吗?

1 个答案:

答案 0 :(得分:3)

编辑你可能会忽略我的答案,因为我使用的是ReSharper。我有时会忘记。

这里有一个奇怪的事情: 在VS2012中,如果我输入:

ConsoleColor? c;
c= 

我没有智能感知。如果我输入:

ConsoleColor? c;
c = 

我确实获得了IntelliSense。对于那些无法发现差异的人来说,它是c=之间的空间。在IntelliSense弹出建议之前,我还需要在=之后键入另一个空格。