タイプのラムダ式をExpression.Lambda<Action<Controller>>
動的に作成しようとしています。
例えば:x => x.Index()
var body = ???
Expression<Action<Controller>> action = Expression.Lambda<Action<Controller>>(body);
コントローラー タイプ (Type) とコントローラー アクション (MemberInfo) があります。
タイプのラムダ式をExpression.Lambda<Action<Controller>>
動的に作成しようとしています。
例えば:x => x.Index()
var body = ???
Expression<Action<Controller>> action = Expression.Lambda<Action<Controller>>(body);
コントローラー タイプ (Type) とコントローラー アクション (MemberInfo) があります。
私があなたの質問を正しく理解しているなら、あなたはそれを使ってそれをするでしょうExpression.Call()
。何かのようなもの:
Expression<Action<T>> CreateCallExpression<T>(MethodInfo method)
{
var parameter = Expression.Parameter(typeof(T), "x");
return Expression.Lambda<Action<T>>(
Expression.Call(parameter, method), parameter);
}