NotSpecification<T> Class

Summary

Logical NOT Specification implementation.
graph BT Type-->Base0["object"] Type-.->Interface0["IComplexSpecification<T>"] Type-.->Interface1["IValidationSpecification<T>"] Type-.->Interface2["ILinqSpecification<T>"] Type-.->Interface3["ILinqSpecification"] click Interface3 "/FluentSpecification/api/FluentSpecification.Abstractions/ILinqSpecification" Type-.->Interface4["ISpecification<T>"] Type-.->Interface5["ISpecification"] click Interface5 "/FluentSpecification/api/FluentSpecification.Abstractions/ISpecification" Type["NotSpecification<T>"] class Type type-node

Syntax

[PublicAPI]
public sealed class NotSpecification<T> : IComplexSpecification<T>, IValidationSpecification<T>, 
    ILinqSpecification<T>, ILinqSpecification, ISpecification<T>, ISpecification

Attributes

Type Description
PublicAPI

Type Parameters

Name Description
T Type of candidate to verify.

Constructors

Name Summary
NotSpecification(ISpecification<T>) Creates negation object of baseSpecification.

Methods

Name Value Summary
GetExpression() Expression<Func<T, bool>>
Gets typed lambda Linq Expression with candidate object verification. Expression is negation of Linq Expression, from Specification passed in constructor.
IsSatisfiedBy(T) bool
Result negation of Specification passed in constructor.
IsSatisfiedBy(T, SpecificationResult) bool
Result negation of Specifications passed in constructor.

Operators

Name Value Summary
explicit operator Expression(NotSpecification<T>) Expression
implicit operator Expression<Func<T, bool>>(NotSpecification<T>) Expression<Func<T, bool>>
implicit operator Func<T, bool>(NotSpecification<T>) Func<T, bool>

Extension Methods

Name Value Summary
And<T, TSpecification>() IComplexSpecification<T>
Creates logical AND Specification with newly created TSpecification.
And<T>() ICompositeSpecification<T>
Creates composite Specification proxy for final logical AND Specification.
And<T>(ISpecification<T>) IComplexSpecification<T>
Creates logical AND Specification.
AndNot<T, TSpecification>() IComplexSpecification<T>
Creates logical AND Specification with newly created and negated TSpecification.
AndNot<T>() ICompositeSpecification<T>
Creates composite Specification proxy for final logical AND Specification. Second Specification is negated.
AndNot<T>(ISpecification<T>) IComplexSpecification<T>
Creates logical AND Specification with negated other.
AsComplexSpecification<T>() IComplexSpecification<T>
Converts Specification to complex Specification.
AsExpression<T>() Expression<Func<T, bool>>
Converts Specification to Linq Expression<T>.
AsPredicate<T>() Func<T, bool>
Converts Specification to Func<T, TResult> predicate.
Not<T>() IComplexSpecification<T>
Creates logical NOT Specification.
Or<T, TSpecification>() IComplexSpecification<T>
Creates logical OR Specification with newly created TSpecification.
Or<T>() ICompositeSpecification<T>
Creates composite Specification proxy for final logical OR Specification.
Or<T>(ISpecification<T>) IComplexSpecification<T>
Creates logical OR Specification.
OrNot<T, TSpecification>() IComplexSpecification<T>
Creates logical OR Specification with newly created and negated TSpecification.
OrNot<T>() ICompositeSpecification<T>
Creates composite Specification proxy for final logical OR Specification. Second Specification is negated.
OrNot<T>(ISpecification<T>) IComplexSpecification<T>
Creates logical OR Specification with negated other.
WithMessage<T>(Func<T, IReadOnlyDictionary<string, object>, string>) IComplexSpecification<T>
Creates validation Specification proxy with specific error message factory where not satisfied by.
WithMessage<T>(Func<T, string>) IComplexSpecification<T>
Creates validation Specification proxy with specific error message factory where not satisfied by.
WithMessage<T>(string) IComplexSpecification<T>
Creates validation Specification proxy with specific error message where not satisfied by.
GitHub