public SpecificationBase <T> Or(SpecificationBase <T> specification) { return(new OrSpecification <T>(this, specification)); }
public AndSpecification(SpecificationBase <T> left, SpecificationBase <T> right) { _right = right; _left = left; }
public SpecificationBase <T> And(SpecificationBase <T> specification) { return(new AndSpecification <T>(this, specification)); }
public NotSpecification(SpecificationBase <T> specification) { _specification = specification ?? throw new ArgumentNullException(nameof(specification)); }