gpt4 book ai didi

c# - 在 C# 中实现枚举对象类型

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:15 26 4
gpt4 key购买 nike

我是 C# 新手,但我用 Java 做过很多编程。在 Java 中,您可以通过声明具有多个字段和私有(private)构造函数的 enum 来创建枚举对象类型(仅具有固定数量可能值的类)。例如,this Java tutorial显示如何创建枚举“行星”类型,它是一个对象(它具有多个数据字段),但具有固定数量的值(只有 8 个行星,因此该对象只存在 8 个实例)。

但是,在 C# 中似乎没有任何方法可以做到这一点,因为 C# 中的 enum 只允许是基本类型,特别是数字基本类型。是否有任何简单的方法可以强制 C# 对象类型具有固定数量的可能实例值?或者我应该诉诸某种单例模式/工厂模式架构,例如为类提供一个私有(private)构造函数并定义固定数量的返回有效实例之一的静态方法?

最佳答案

System.Drawing.Color就是此类事情的一个例子。

Color 类型具有Color 类型的静态属性集合,可提供对命名颜色的访问。例如,System.Drawing.Color.CornflowerBlue .

Color 类型允许您在不使用指定颜色静态成员的情况下创建 Color。如果你想禁止这种情况,你可以让你的类只有私有(private)构造函数。那么访问您的类型的实例的唯一方法是选择您的类型的可用静态属性之一。

关于c# - 在 C# 中实现枚举对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371902/

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