ExpressionSpecification<T> Class

Summary

Checks if external Linq Expression is satisfied by candidate.
graph BT Type-->Base0["ValidationSpecification<T>"] Base0-->Base1["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["ExpressionSpecification<T>"] class Type type-node

Syntax

[PublicAPI]
public sealed class ExpressionSpecification<T> : ValidationSpecification<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
ExpressionSpecification(Expression<Func<T, bool>>) Creates Specification for given Linq Expression.

Methods

Name Value Summary
CreateFailedMessage(T) string
Gets validation failed message of Specification for candidate content.
GetExpression() Expression<Func<T, bool>>
Gets typed lambda Linq Expression with candidate object verification.
GetParameters() IReadOnlyDictionary<string, object>
Get Specification internal/external parameters, used for candidate verification.
IsSatisfiedBy(T) bool
Checks if Specification is satisfied by candidate object.

Operators

Name Value Summary
explicit operator Expression(ExpressionSpecification<T>) Expression
implicit operator Expression<Func<T, bool>>(ExpressionSpecification<T>) Expression<Func<T, bool>>
implicit operator Func<T, bool>(ValidationSpecification<T>) Func<T, bool>
Inherited from ValidationSpecification<T>

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