private static void ValidateStateRule(T candidate, IStateRule <T> rule) { if (rule == null) { return; } if (!rule.IsSatisfied(candidate)) { throw new StateRuleException(rule.Description); } }
public bool Satisfies(IStateRule <T> stateRule) { return(HasValue && stateRule.IsSatisfied(Value)); }