我有一个方法:
int SomeMethod(object[] args)
{
// ...
}
我想创建一个具有相同返回类型的委托,但是使用可变数量的参数(Func<int,int>
或(Func<float,int,int>
等...)来调用此SomeMethod
。
Delegate CreateDelegate(Type delegateType)
{
var delegateMethodInfo = delegateType.GetMethod("Invoke");
// ???
}
我将如何做到这一点?
编辑:这里的问题是不创建委托,但在其后面创建方法体。委托背后的方法需要调用SomeMethod
,并在数组中传递所有参数。