有没有一种方法可以使用 Resharper 在 Visual Studio 中显示枚举的数值?

Is There A Way To Show An Enum's Numerical Value In Visual Studio With Resharper?

我总是在 enum 值旁边添加注释,这样我就可以在编辑器中快速查看它们的数值。否则你必须从 0(或你的初始值)开始并从那里开始计数(如果你想使用 flags 则更糟)。我的用例是在使用 SSMS 时查看编辑器中的 enum

enum PossibleValues
{
  AnOption,         //0
  ADifferentOption, //1
  TheLastOption,    //2
}

这似乎是 Visual Studio 可能具有的功能,但我找不到它。也许需要一个插件? Google 让我失望了。

编辑:我添加了 Resharper 标签并在标题中指定了它。因为它对我可用并且提供了一个完美的解决方案。

你可以赋值

enum ee { one = 1, two = 2, three = 3 }

您可以将枚举转换为 int。这就是我在代码中构建 TSQL 所使用的。

ee e = ee.three;
Debug.WriteLine((int)e);

在 SQL 中,我通常会有一个带有枚举编号和值的 table,这样我就可以在那里查找并在查询中显示实际枚举。您需要手动同步它们。

您在评论中提到您正在使用 ReSharper - 如果您尚未分配值,它具有快速添加值的功能。 Select枚举名称,并调出常用菜单(默认alt-enter):

选择"Specify enum member values",它将直接在代码中填充它们:

如果单击小箭头,您还可以按文件、文件夹、项目或整个解决方案执行此操作。

if I'm writing a one-off SQL Query in SSMS I would need to know the number as SQL Server isn't aware of the Enum in C#.

这意味着枚举值需要保持不变,您不希望有人在您当前的值之间放入另一个值并炸毁您的数据库条目。

在这种情况下你应该这样做

enum PossibleValues
{
  AnOption = 0,
  ADifferentOption = 1,
  TheLastOption = 2
}