【发布时间】:2014-07-02 17:00:12
【问题描述】:
我们有一个用于 EDI 字段的大型 Enum 类,举个简短的例子,枚举声明如下:
[Description("Ebene")]
Ebene,
[Description("Zaehlpunktdaten")]
Zaehlpunktdaten,
[Description("Zaehlpunkt")]
Zaehlpunkt,
。 .
嗯,当您通过EDIEnums.Zaehlpunktdaten.ToString() 检索枚举时,枚举工作正常,但在其他一些项目中,它返回错误值。
如果我在开头添加一个新的将返回下一个,在此示例中,如果我刚刚添加了Ebene,并且我想检索Zaehlpunktdaten,它将返回Zaehlpunkt。
我们也尝试过=0、=1、=2 等,但它也不起作用。也有本地参考。
对正在发生的事情有什么想法吗?
【问题讨论】:
-
听起来您已经更改了枚举,但没有重新构建依赖它的所有代码。这是个坏主意。
-
我猜你在枚举中有重复的值。发布完整的枚举定义。
-
另外,不要期望 ToString() 返回描述属性的值。
-
如果问题出现在某些项目中而不出现在其他项目中,则听起来表现出不良行为的项目需要检查并重建其引用。
-
如果你的应用必须依赖 Enum.ToString 结果,那你就做错了。