【发布时间】:2012-05-09 16:56:27
【问题描述】:
在 c# 中有什么方法可以确保枚举常量映射到唯一的整数值。
public enum Color
{
None =0,
red = 1,
blue= 2,
white = 3
}
如果我确实将“白色从 3 更改为 2”的数值,我应该会得到编译错误。
在我的项目中,我将 DB 中的枚举整数值保存为常量。 我需要枚举中的约束,例如有人在枚举中添加新常量(例如黑色)。用户必须提供具有枚举常量的唯一数值。
谢谢
【问题讨论】:
-
你可以省略显式的值规范,让编译器确定它们吗?
-
另外,您使用的是 C# 4.0 还是更高版本?如果是这样,您可以利用code contracts 来模拟编译时静态断言。