public ComposableRule <T> Or(Rule <T> orRule) { VerifyArgument.IsNotNull("orRule", orRule); var b = _check; _check = () => { var a = b(); if (a == null) { return(orRule.Check()); } return(a); }; return(this); }
public ComposableRule <T> And(Rule <T> andRule) { VerifyArgument.IsNotNull("andRule", andRule); var b = _check; _check = () => { var a = b(); if (a != null) { return(a); } return(andRule.Check()); }; return(this); }
public ComposableRule <T> Or(Rule <T> orRule) { VerifyArgument.IsNotNull("orRule", orRule); var b = _check; _check = () => { var a = b(); if (a == null) { orRule.DoError = DoError; _baseRule.DoError = DoError; var actionableErrorInfo = orRule.Check(); return(actionableErrorInfo); } return(a); }; return(this); }