我是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;
}
}
}