private static Expression <Func <T, TResult> > UnwrapExpression <T, TResult>(Expression <Func <T, TResult> > expression, Type[] args) { ExpressionWrapper wrapper = new ExpressionWrapper(args[0], args[1]); return((Expression <Func <T, TResult> >)wrapper.Visit(expression)); }
protected virtual Expression <Func <M, TResult> > WrapExpression <TResult>(Expression <Func <T, TResult> > expression) { ExpressionWrapper <T, M> wrapper = new ExpressionWrapper <T, M>(); return((Expression <Func <M, TResult> >)wrapper.Visit(expression)); }