Specification.

NotExclusiveBetween<T, TProperty>(ICompositeSpecification<T>, Expression<Func<T, TProperty>>, TProperty, TProperty, IComparer<TProperty>) Method

Summary

Composes self Specification with ExclusiveBetweenSpecification<T> negation for candidate property:

Checks if candidate property is not between (exclusive) min and max value.

Namespace
FluentSpecification
Containing Type
Specification

Syntax

[PublicAPI]
[NotNull]
public static IComplexSpecification<T> NotExclusiveBetween<T, TProperty>(this ICompositeSpecification<T> self, Expression<Func<T, TProperty>> selector, TProperty notFrom, TProperty notTo, IComparer<TProperty> comparer = null)

Attributes

Type Description
PublicAPI
NotNull

Type Parameters

Name Description
T Type of candidate.
TProperty Type of compared objects.

Parameters

Name Type Description
self ICompositeSpecification<T> Self specification.
selector Expression<Func<T, TProperty>> Candidate property selector.
notFrom TProperty Not min candidate value.
notTo TProperty Not max candidate value.
comparer IComparer<TProperty> Comparer.

Return Value

Type Description
IComplexSpecification<T> Composed complex Specification.

Exceptions

Type Description
System.ArgumentNullException Thrown when self or selector is null.
System.ArgumentException Thrown when selector is not valid.
System.ArgumentException Thrown when TProperty has no valid comparison methods.
System.ArgumentException Thrown when notFrom is greater than notTo.
GitHub