public AndSpecification(BaseSpecification <TData> leftSpecification, BaseSpecification <TData> rightSpecification) : base(leftSpecification, rightSpecification) { }
public NotSpecification(BaseSpecification <TData> specification) : base(specification) { }
public BaseSpecification <TData> Or(BaseSpecification <TData> specification) { return(new OrSpecification <TData>(this, specification)); }
public BaseSpecification <TData> And(BaseSpecification <TData> specification) { return(new AndSpecification <TData>(this, specification)); }
protected BaseUnarySpecification(BaseSpecification <TData> specification) { this.Specification = specification ?? throw new ArgumentNullException(nameof(specification)); }
protected BaseBinarySpecification(BaseSpecification <TData> leftSpecification, BaseSpecification <TData> rightSpecification) { this.LeftSpecification = leftSpecification ?? throw new ArgumentNullException(nameof(leftSpecification)); this.RightSpecification = rightSpecification ?? throw new ArgumentNullException(nameof(rightSpecification)); }