这些 Visual Studio 调试图标是什么意思?

What do these Visual Studio debug icons means?

我有一个带有一堆属性的 class,class 没有继承或实现任何东西。

为什么这两个属性(在下面的红色方块中)与其他属性的图标不同?

图标代表什么?

这是 class 的样子:

如您所见,CompanyIDCompanyName 也是 public 属性,但是 EAP 是 public 属性没有相同的图标。

如果 属性 的值不为空,则使用错误的图标,如果值为空,则使用正确的扳手图标。

我使用的是 VS Enterprise 2017,版本 15.9.15。

这是 here 在 Visual Studio 开发者社区页面上报告的。

引用错误报告:

Given this property:

public int? Port { get; set; }

In the debugger I see a box with a heart next to it (ie. the "Field or Variable" icon together with a "Friend/Internal" signal icon).

Surely it should be a wrench icon (for "Property") and no signal icon, given the public accessibility.

根据此页面,修复已于 6 月 18 日 on/around 发布。 (编辑:未修复!)

如果这仍然是最新版本,我建议在同一页面上发布新的错误报告(或通过单击 Visual Studio 中的反馈按钮并选择“报告问题”):

至于这个图标是什么意思,你可以查看Class View and Object Browser Icons,它把它标识为field/variable(盒子)和内部(心)。

编辑:我刚刚在 Visual Studio 2017 Enterprise v15.9.17 上为自己测试了这个,它仍在显示:

因此,我报告了一个新问题 here

图标本身表示friend/internal(心)field/variable(蓝色长方体)。
请参阅图标文档 here
这很奇怪,因为 EAP 显然不是这些东西。

这两个属性唯一值得注意的不同之处在于它们是可为 null 的值类型。
我想知道这是否是生成错误图标的奇怪副作用?