Example #1
0
        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);
        }
Example #2
0
        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;
        }