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

osc*_*tin 5 c# intellisense enums nullable visual-studio-2013

在C#中键入以下代码:

ConsoleColor c;

c = 
Run Code Online (Sandbox Code Playgroud)

完成输入后c =,intellisense会ConsoleColor按预期显示枚举中的值列表.现在将其更改为可为空的:

ConsoleColor? c;

c = 
Run Code Online (Sandbox Code Playgroud)

键入之后=,你会期望intellisense像以前一样做,但事实并非如此.我甚至无法调用枚举列表CTRL+SPACE.为了得到它的智能感知正常调用,我必须键入c.Value =,但只是导致生成错误,因为你不能赋值给一个只读属性.奇怪的是,它在VB.NET中按预期工作:

Dim c As ConsoleColor?

c = ConsoleColor.Black
Run Code Online (Sandbox Code Playgroud)

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

Rik*_*Rik 3

编辑你可能会忽略我的回答,因为我正在使用 ReSharper。我有时会忘记这一点。

这是一件奇怪的事情:在 VS2012 中,如果我输入以下内容:

ConsoleColor? c;
c= 
Run Code Online (Sandbox Code Playgroud)

我没有得到 IntelliSense。如果我输入以下内容:

ConsoleColor? c;
c = 
Run Code Online (Sandbox Code Playgroud)

我确实得到了 IntelliSense。c对于那些难以辨别差异的人来说,差异在于和之间的空格=。我还需要在=IntelliSense 弹出建议之前输入另一个空格。