コード例 #1
0
 public AbstractSpecification <T> Or(AbstractSpecification <T> specification)
 {
     if (this == All || specification == All)
     {
         return(All);
     }
     return(new OrSpecification <T>(this, specification));
 }
コード例 #2
0
 public AbstractSpecification <T> And(AbstractSpecification <T> specification)
 {
     if (this == All)
     {
         return(specification);
     }
     if (specification == All)
     {
         return(this);
     }
     return(new AndSpecification <T>(this, specification));
 }
コード例 #3
0
 public AndSpecification(AbstractSpecification <T> _left,
                         AbstractSpecification <T> _right)
 {
     this._left  = _left;
     this._right = _right;
 }
コード例 #4
0
 public NotSpecification(AbstractSpecification <T> _specification)
 {
     this._specification = _specification;
 }