可为null的枚举don';t为C#中的有效枚举值列表触发intellisense
本文关键字:枚举 有效 列表 intellisense don null 可为 | 更新日期: 2023-09-27 17:59:56
在C#中键入此代码:
ConsoleColor c;
c =
一旦输入完c =
,intellisense就会按预期显示ConsoleColor
枚举中的值列表。现在将其更改为可为null:
ConsoleColor? c;
c =
在您键入=
之后,您希望intellisense能像以前一样执行操作,但事实并非如此。我甚至无法使用CTRL+SPACE
调用枚举列表。为了使其能够正确调用,我必须键入c.Value =
,但这只会导致生成错误,因为您无法将值分配给只读属性。奇怪的是,它在VB.NET:中可以正常工作
Dim c As ConsoleColor?
c = ConsoleColor.Black
这只是一个bug/怪癖吗?
EDIT您可能会忽略我的答案,因为我使用的是ReSharper。我有时会忘记这一点。
这里有一件奇怪的事情:在VS2012中,如果我键入以下内容:
ConsoleColor? c;
c=
我没有智能感知。如果我键入以下内容:
ConsoleColor? c;
c =
我确实了解IntelliSense。对于那些难以发现差异的人来说,这是c
和=
之间的空间。在IntelliSense弹出建议之前,我还需要在=
后面键入另一个空格。