请帮我理解这段代码。这是一个包含对象而不是值的枚举?是否有术语或模式来解释这个过程?
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");
}
答案 0 :(得分:4)
这似乎是一个班级:
我忽略了私人构造函数。正如@ jacob-krall指出的那样typesafe enum
(来自较旧的Java)似乎最适合。
答案 1 :(得分:3)
我认为这是typesafe enum的一个例子,它定义了一个类型的有限选项列表。
答案 2 :(得分:1)
它是state pattern或State Pattern in C#实现,但没有创建子类,而是在类本身创建方法
在您给出的代码中,每个方法都会更改状态并返回已更改状态的实例。表格Open>>close >>your open >> your close
或