类 C# (.NET Core) 中具有"given values"(有效值列表)的状态字段



我是C#初学者,正在寻找一个在类中存储状态字段的简单选项。

该字段应该只允许某些值,如"0";打开"pick""包装""已装运";。

稍后,我想根据此状态字段(按值(筛选订单集合。

namespace Prototype.Models
{
public class Order
{
public string Id { get; }
public string Status { get; }
public int Priority { get; }

public Order(string id, string status, int priority)
{
Id = id;
Status = status;
Priority = priority;
}
}
}

我读了一些关于Ienumerable的文章。但我不确定。

只要我能过滤,状态字段的类型就不重要了。一根绳子肯定会有帮助。类似于具有静态指定值的枚举。

通过构造函数创建时,我还需要进行检查。有没有办法尝试或抛出异常?

namespace Prototype
{
class Program
{
static void Main(string[] args)
{
var SampleOrder = new Order("id001", "picked", 123);

Console.WriteLine(SampleOrder.Status);
}
}
}

应该不可能实例化接收状态参数"的对象;破碎的";通过构造函数方法。

也许以后必须扩展状态的有效值列表。但是,列表可以是静态的。

如果状态是可读的(public ... {get;}(,这也是有意义的。这个返回应该是一个";说";值。

您必须定义类似于类的枚举,然后将其声明为类成员,就像这样…

namespace Prototype.Models
{
public enum OrderStatus
{
Open,
Picked,
Packaged,
Shipped
}
public class Order
{
public string Id { get; }
public OrderStatus Status { get; }
public int Priority { get; }

public Order(string id, OrderStatus status, int priority)
{
Id = id;
Status = status;
Priority = priority;
}
}
}

相关内容

  • 没有找到相关文章

最新更新