Amss.Boilerplate.Persistence.Impl.Utilities.Linq.ExpressionRewriter.Substitute C# (CSharp) Method

Substitute() public method

public Substitute ( Expression from, Expression to ) : ExpressionRewriter
from System.Linq.Expressions.Expression
to System.Linq.Expressions.Expression
return ExpressionRewriter
        public ExpressionRewriter Substitute(Expression from, Expression to)
        {
            this.CheckLocked();
            this.subst.Add(from, to);
            return this;
        }

Usage Example

Beispiel #1
0
        public Expression AutoInline(InvocationExpression expression)
        {
            this.isLocked = true;
            if (expression == null)
            {
                throw new ArgumentNullException("expression");
            }

            var lambda       = (LambdaExpression)expression.Expression;
            var childScope   = new ExpressionRewriter(this);
            var lambdaParams = lambda.Parameters;
            var invokeArgs   = expression.Arguments;

            if (lambdaParams.Count != invokeArgs.Count)
            {
                throw new InvalidOperationException("Lambda/invoke mismatch");
            }

            for (var i = 0; i < lambdaParams.Count; i++)
            {
                childScope.Substitute(lambdaParams[i], invokeArgs[i]);
            }

            return(childScope.Apply(lambda.Body));
        }
All Usage Examples Of Amss.Boilerplate.Persistence.Impl.Utilities.Linq.ExpressionRewriter::Substitute