Example #1
0
        protected override Expression VisitDynamic(DynamicExpression node)
        {
            int yields = _yields.Count;
            ReadOnlyCollection <Expression> a = Visit(node.Arguments);

            if (a == node.Arguments)
            {
                return(node);
            }
            if (yields == _yields.Count)
            {
                return(Expression.MakeDynamic(node.DelegateType, node.Binder, a));
            }
            return(Expression.Block(
                       ToTemp(ref a),
                       Expression.MakeDynamic(node.DelegateType, node.Binder, a)
                       ));
        }