根据MSDN文档中System.Enum类的最佳实践部分所述:不要定义一个枚举值只是为了反映该枚举本身的状态。例如,不要定义一个标记枚举常量,仅表示枚举的结尾。如果需要确定枚举的最后一个值,请明确检查该值。此外,如果范围内的所有值都是有效的,则可以对第一个和最后一个枚举常量执行范围检查。如果我理解正确,我们不应将枚举声明为以下方式。
为什么这被认为是不好的实践?
public enum DrawOrder
{
VeryBottom = 0,
Bottom = 1,
Middle = 2,
Top = 3,
Lowest = VeryBottom, //marks a position in the enum
Highest = Top, //marks a position in the enum
}
为什么这被认为是不好的实践?
Enum.IsDefined
、Enum.GetValues
等等,所以这种hack已经不再有太多意义了。 - Todd Li