Пример #1
0
        public override AbstractExpression AcceptRewriter(StatementRewriter rewriter)
        {
            var newCondition = Condition.AcceptRewriter(rewriter);
            var newWhenTrue  = WhenTrue.AcceptRewriter(rewriter);
            var newWhenFalse = WhenFalse.AcceptRewriter(rewriter);

            if (newCondition != Condition || newWhenTrue != WhenTrue || newWhenFalse != WhenFalse)
            {
                return(new ConditionalExpression {
                    Bindings = new BindingCollection(this.Bindings),
                    Type = this.Type,
                    Condition = newCondition,
                    WhenTrue = newWhenTrue,
                    WhenFalse = newWhenFalse
                });
            }

            return(this);
        }