/// <summary> /// Special constructors for sub-classes that just want to override <see cref="IsValidValue"/> instead of providing a delegate. /// </summary> /// <param name="targetDimension"></param> /// <exception cref="ArgumentNullException">Any of the arguments is null.</exception> protected OneDimensionalConstraint(QualifiedDimension <T> targetDimension) { if (targetDimension == null) { throw new ArgumentNullException("targetDimension"); } _targetDimension = targetDimension; _validator = null; _requiredDimensions = new List <QualifiedDimension>() { _targetDimension }.AsReadOnly(); }
/// <summary> /// Initializes a new instance of the <see cref="OneDimensionalConstraint<T>"/> class. /// </summary> /// <param name="targetDimension">The target dimension.</param> /// <param name="validator">The validator.</param> /// <exception cref="ArgumentNullException">Any of the arguments is null.</exception> public OneDimensionalConstraint(QualifiedDimension <T> targetDimension, OneDimensionalValidator <T> validator) { if (targetDimension == null) { throw new ArgumentNullException("targetDimension"); } if (validator == null) { throw new ArgumentNullException("validator"); } _targetDimension = targetDimension; _validator = validator; _requiredDimensions = new List <QualifiedDimension>() { _targetDimension }.AsReadOnly(); }