オブジェクトが検証されるときにチェックされるビジネスルールのリストを持つオブジェクトがあります。
クラスの先頭に、以下に示すように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; }
}
それとも、これにアプローチするためのより良い方法はありますか?