c# – 如何防止枚举构造函数

前端之家收集整理的这篇文章主要介绍了c# – 如何防止枚举构造函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我很惊讶,但可以使用C#中的构造函数创建枚举.
例如,我有枚举:
public enum Color
{
    White = 1,Red = 2
}

然后它可以像这样创建:

var color = new Color();

并且该值将为0,这实际上是无效的枚举值.

那么,我们能以某种方式禁止枚举构造函数吗?任何其他想法如何避免这种情况?

谢谢.

解决方法

So,can we prohibit enum constructors somehow?

不.问题与构造函数本身并不严格相关:(颜色)0也是有效的,因为基础类型的值可以为0.

Any other ideas how to avoid this?

不,这基本上是一个更广泛的问题.防止这种情况的唯一方法是检查输入值的有效性.

根据Code Analysis,您应始终具有0枚举值.

猜你在找的C#相关文章