1

我有几个像这样使用的大型枚举

switch(someEnumValue)
{
  case SomeEnum.Value1:
  DoSomething();
  break;

  case SomeEnum.Value2:
  DoSomethingElse();
  break;

  ...

  case someEnum.ValueBigNumber:
  break;
}

在 Visual Studio 2010 中有没有办法让我在不实际运行程序且不手动计算枚举定义中的值的情况下查看 someEnum.SomeValue 的整数值是多少?

4

3 回答 3

2

今天我正在寻找解决这个问题的方法。我找不到像视觉工作室扩展这样的酷解决方案。相反,我发现了一个使用模板代码解决这个问题的有用技巧!

template<bool, int> class Value_of_someEnumValue_is;
template<>      class Value_of_someEnumValue_is<false, someEnumValue> {};
Value_of_someEnumValue_is<true, someEnumValue> i;

如果编译此代码,您将在错误消息中看到“someEnumValue”的整数值。:)

于 2014-04-14T13:51:48.270 回答
0

虽然您可以直接使用实际整数值定义枚举,但没有内置任何内容,因此查看枚举声明会告诉您成员值:

public enum SomeEnum
{
   Value1 = 0,
   Value2 = 1,
   ...
   ValueN = 78897
}
于 2012-06-28T21:17:47.197 回答
0

目前尚不清楚您为什么要这样做,但要考虑一下;将枚举定义复制到 excel 中并查看行号或复制到 Visual Studio 中的新文本文件中并检查光标的行号(想想它在 ide 的右下角)。从第一个中选择值甚至可以为您提供选定的行数。

于 2012-06-28T21:27:09.030 回答