c# – 如何防止枚举构造函数
发布时间:2020-12-15 08:23:29 所属栏目:百科 来源:网络整理
导读:我很惊讶,但可以使用C#中的构造函数创建枚举. 例如,我有枚举: public enum Color{ White = 1,Red = 2} 然后它可以像这样创建: var color = new Color(); 并且该值将为0,这实际上是无效的枚举值. 那么,我们能以某种方式禁止枚举构造函数吗?任何其他想法如
我很惊讶,但可以使用C#中的构造函数创建枚举.
例如,我有枚举: public enum Color { White = 1,Red = 2 } 然后它可以像这样创建: var color = new Color(); 并且该值将为0,这实际上是无效的枚举值. 那么,我们能以某种方式禁止枚举构造函数吗?任何其他想法如何避免这种情况? 谢谢. 解决方法
不.问题与构造函数本身并不严格相关:(颜色)0也是有效的,因为基础类型的值可以为0.
不,这基本上是一个更广泛的问题.防止这种情况的唯一方法是检查输入值的有效性. 根据Code Analysis,您应始终具有0枚举值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |