public static TResult Invoke <TResult>(Expression <Func <TResult> > expression, Type[] holderTypes, Type[] types) { var modifier = new GenericMethodModifier(); return(modifier.Modify(expression, types, holderTypes).Compile().Invoke()); }