我有一个对象,其中包含在验证对象时检查的业务规则列表。
在类的顶部,我创建了 BusinessRule 类型的静态字段,如下所示:-
public class SyncFile : Waterstons.Patterns.Entities.BaseEntity<Guid>
{
public static BusinessRule NameRequiredRule = new BusinessRule("Name", "The audit file must have a name");
....
protected override void Validate()
{
if (Id == default(Guid))
{
AddBrokenRule(IdRequiredRule);
}
....
这导致代码分析抱怨我不应该有公共字段,除非它们是 const。我不确定我可以根据我使用它们的方式将它们定义为 const 。
那么有没有更好的方法来解决这个问题?我应该将它们公开为如下属性吗?
public static BusinessRule _nameRequiredRule = new BusinessRule("Name", "The audit file must have a name");
public static BusinessRule Test
{
get { return _nameRequiredRule; }
}
还是有更好的方法来解决这个问题?