c# - 为什么这个类在自身内部实例化?
问题描述
请帮助我理解这段代码。这就像使用对象而不是值的枚举吗?是否有解释这个过程的术语或模式?
public class State
{
private State(String value)
{
Value = value;
}
public String Value { get; set; }
public static State Open => new State("Open");
public static State Closed => new State("Closed");
public static State YourOpen => new State("YourOpen");
public static State YourClosed => new State("YourClosed");
}
解决方案
这似乎是一个类:
- 允许创建具有自定义状态值的实例(不可公开访问!)
- 为自身的实例提供预定义的值
我忽略了私有构造函数。正如@jacob-krall 指出的那样typesafe enum
(来自较旧的Java)似乎最适合。
推荐阅读
- c++ - 为什么编译器不喜欢与“Iter”关联的所有字符串?
- sql - SQL WITH 语句
- rust - 如何从不同的模块导入两个具有相同名称的类型?
- javascript - 冲突:由 setWebhook 请求 Telegraf (Telegram Bot) 和 MenuBuilder (Node js) 终止
- google-chrome-devtools - 有没有办法检查伪代码内容的字符实体?
- javascript - 需要通过强制布局平移/缩放到 ECharts 图上节点的动态位置
- fabricjs - 如何获得旋转组的实际边界?
- typescript - 使用接口定义交集,而不是类型
- php - 在base64中裁剪图像边距
- macos - ddev 无法启动或重新启动,并出现“docker Read timed out”