예제 #1
0
        protected override Expression VisitParameter(ParameterExpression p)
        {
            InvocationExpander expander = this;

            while (null != expander)
            {
                if (expander._parameter == p)
                {
                    return(base.Visit(expander._expansion));
                }
                expander = expander._previous;
            }
            return(base.VisitParameter(p));
        }
예제 #2
0
 public InvocationExpander(ParameterExpression _parameter, Expression _expansion, InvocationExpander _previous)
 {
     this._parameter = _parameter;
     this._expansion = _expansion;
     this._previous  = _previous;
 }