在c#中是否有任何方法可以确保枚举常量映射到唯一的整数值。
public enum Color
{
None =0,
red = 1,
blue= 2,
white = 3
}
如果我确实将“白色从3改为2”的数值,我应该得到编译错误。
在我的项目中,我将DB中的枚举整数值保存为常量。 我需要枚举中的约束,就像有人在枚举中添加一个新的常量(例如黑色)。用户必须使用枚举常量提供唯一的数值。
感谢
答案 0 :(得分:3)
最好的办法是不要在enum
定义中明确设置值。在enum
定义中添加评论,告诉任何人添加它以确保它们只添加到最后。
例如:
public enum Color
{
None,
red,
blue,
white,
// **NEW ENTRIES MUST ONLY BE ADDED AT THE END OF THE ENUM**
}
或者使用内置的Color
结构及其ToArgb( )
方法。或者确实是KnownColor
枚举。