gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:07:54 27 4
gpt4 key购买 nike

我很惊讶,但是在 C# 中可以使用构造函数创建枚举。例如,我有枚举:

public enum Color
{
White = 1,
Red = 2
}

那么它可以这样创建:

var color = new Color();

并且该值为 0,这实际上不是有效的枚举值。

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

谢谢。

最佳答案

So, can we prohibit enum constructors somehow?

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

Any other ideas how to avoid this?

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

根据 Code Analysis,您应该始终有一个 0 枚举值.

关于c# - 如何防止枚举构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47789908/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com