private IConstraintGroup Add(Constraint constraint, string op) { //如果目标是空的,那么还是只返回当前对象为约束组。 if (constraint.IsEmpty) { return(this); } var group = new ConstraintGroup { Context = Context }; if (this.IsEmpty) { //就算是空的条件,也应该加到一个组中再返回;否则会造成 constraint 变得跟接后面的条件不是一组的。 //例如:EmptyConstrint.And(q1).And(q2); q1 跟 q2 应该是同一组的,它们应该有括号分隔开。 group.Items.Add(constraint); } else { group.Items.Add(this); group.Items.Add(constraint); group.Operators.Add(op); } return(group); }
private IConstraintGroup Add(Constraint constraint, string op) { //如果目标是空的,那么还是只返回当前对象为约束组。 if (constraint.IsEmpty) { return this; } var group = new ConstraintGroup { Context = Context }; if (this.IsEmpty) { //就算是空的条件,也应该加到一个组中再返回;否则会造成 constraint 变得跟接后面的条件不是一组的。 //例如:EmptyConstrint.And(q1).And(q2); q1 跟 q2 应该是同一组的,它们应该有括号分隔开。 group.Items.Add(constraint); } else { group.Items.Add(this); group.Items.Add(constraint); group.Operators.Add(op); } return group; }