internal Rule( Func <ValidationRuleArgs <I>, ValidationResult> ruleFunction, RuleErrorStrategy errorStrategy) { ErrorStrategy = errorStrategy; this.ruleFunction = ruleFunction; }
public static ValidationRule Create <I>( Func <ValidationRuleArgs <I>, ValidationResult> ruleFunction = null, RuleErrorStrategy errorStrategy = RuleErrorStrategy.ReturnNull) { switch (errorStrategy) { case RuleErrorStrategy.ReturnNull: case RuleErrorStrategy.ReturnInvalid: case RuleErrorStrategy.ReturnValid: break; default: throw new ArgumentOutOfRangeException(nameof(errorStrategy)); } return(new Rule <I>(ruleFunction, errorStrategy)); }