带“的状态字段”;“给定值”;类C#(.NET Core)中的(有效值列表)
我是一名C#初学者,正在寻找在类中存储状态字段的简单选项 此字段应仅允许某些值,如“打开”、“拾取”、“打包”、“装运” 稍后,我想根据这个状态字段(按值)过滤订单集合带“的状态字段”;“给定值”;类C#(.NET Core)中的(有效值列表),c#,validation,.net-core,parameters,C#,Validation,.net Core,Parameters,我是一名C#初学者,正在寻找在类中存储状态字段的简单选项 此字段应仅允许某些值,如“打开”、“拾取”、“打包”、“装运” 稍后,我想根据这个状态字段(按值)过滤订单集合 namespace Prototype.Models { 公共阶级秩序 { 公共字符串Id{get;} 公共字符串状态{get;} 公共int优先级{get;} 公共秩序(字符串id、字符串状态、整数优先级) { Id=Id; 状态=状态; 优先级=优先级; } } } 我读了一些关于Ienumerable的文章。但我不确定
namespace Prototype.Models
{
公共阶级秩序
{
公共字符串Id{get;}
公共字符串状态{get;}
公共int优先级{get;}
公共秩序(字符串id、字符串状态、整数优先级)
{
Id=Id;
状态=状态;
优先级=优先级;
}
}
}
我读了一些关于Ienumerable的文章。但我不确定
状态字段的类型并不重要,只要我可以过滤它。
一个字符串肯定会有帮助。类似于具有静态指定值的枚举
我还需要一个检查时,通过构造函数创建。有没有办法尝试或抛出异常
命名空间原型
{
班级计划
{
静态void Main(字符串[]参数)
{
var SampleOrder=新订单(“id001”,“拾取”,123);
Console.WriteLine(SampleOrder.Status);
}
}
}
不应该能够实例化通过构造函数方法接收状态参数“breaked”的对象
可能以后必须展开状态的有效值列表。但是,列表可以是静态的
如果状态是可读的(
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;
}
}
}
为什么不使用枚举?这正是他们的目的。因此打字是不可能的,例如,
“piked”
“可能会发生,状态的有效值列表以后必须展开。但是,列表可以是静态的。”那又怎样?它是变化的还是静态的?@HimBromBeere:我手动添加任何缺失的状态(在代码中),但这种情况很少发生。好的。这对我来说似乎是可以理解的。对不起,我以前从未在C#中使用过枚举。所以它写得像一门课。美好的我喜欢这样。非常感谢。