Validition命名空间下
ValidationRules类,负责收集业务规则和检查业务规则
private Dictionary<string, List<RuleMethod>> _rulesList;
string:属性名
List<RuleMethod>:这个属性的验证方法
BrokenRule类,负责收集验证失败的规则
RuleMethod类,验证方法容器
BusinessBase类,构造方法中调用虚方法AddBusinessRules(),提供的子类中可以增加验证方法接口,
继承IDataErrorInfo,返回验证失败的错误信息,可以显示在ErrorProvider控件上
使用:在子类中override AddBusinessRules()方法,增加验证规则
在子类的属性set方法中,如果属性变化则调用CheckRules()方法
例子:
class order : businessbase<order>
{
public string ordername
{
set
{//如果属性变化
CheckRules()//变化之后重新验证,失败的话会在breakrule列表中添加,然后返回一个错误给errorprivoder
}
}
override AddBusinessRules()
{
//此处添加验证规则
}
Idataerrinfo//返回验证失败的信息
}