예제 #1
0
        public override object Clone()
        {
            SQLiteLikeOperator likeOp = null;

            if (_likeOp != null)
            {
                likeOp = (SQLiteLikeOperator)_likeOp.Clone();
            }
            SQLiteExpression left = null;

            if (_left != null)
            {
                left = (SQLiteExpression)_left.Clone();
            }
            SQLiteExpression right = null;

            if (_right != null)
            {
                right = (SQLiteExpression)_right.Clone();
            }
            SQLiteExpression escape = null;

            if (_escape != null)
            {
                escape = (SQLiteExpression)_escape.Clone();
            }

            SQLiteLikeExpression res = new SQLiteLikeExpression();

            res._likeOp = likeOp;
            res._left   = left;
            res._right  = right;
            res._escape = escape;
            return(res);
        }
예제 #2
0
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            SQLiteLikeExpression dst = obj as SQLiteLikeExpression;

            if (dst == null)
            {
                return(false);
            }

            if (!RefCompare.CompareMany(_likeOp, dst._likeOp, _left, dst._left, _right, dst._right, _escape, dst._escape))
            {
                return(false);
            }

            return(base.Equals(obj));
        }