C# 将反射方法作为参数传递给另一个作为委托的反射方法
我有一个带签名的函数C# 将反射方法作为参数传递给另一个作为委托的反射方法,c#,reflection,methodinfo,C#,Reflection,Methodinfo,我有一个带签名的函数 private void FunkA(string eventName, Action action) {} private void FunkB() {} 我通过思考获得的。action的值也是通过反射获得的,因此在我的代码中,我必须找到一种方法,将“MethodInfo”作为参数传递到调用中 MethodInfo miForFunkA; MethodInfo miForFunkB; miForFunkA.Invoke(sourceOfFunkA, new [] {
private void FunkA(string eventName, Action action) {}
private void FunkB() {}
我通过思考获得的。action的值也是通过反射获得的,因此在我的代码中,我必须找到一种方法,将“MethodInfo”作为参数传递到调用中
MethodInfo miForFunkA;
MethodInfo miForFunkB;
miForFunkA.Invoke(sourceOfFunkA, new [] {
methodInfo.Name,
Delegate.CreateDelegate(typeof(Action), miForFunkB)
});
问题是我无法创建具有字符串和委托类型的参数列表。
该如何传递?您应该明确指定数组类型:
miForFunkA.Invoke(sourceOfFunkA, new object[] {
methodInfo.Name,
Delegate.CreateDelegate(typeof(Action), miForFunkB)
});
如果这不能解决您的问题,您应该编辑您的问题,以便更清楚地了解您正在尝试做什么,涉及的所有变量的声明,您现在有什么代码,它做什么,这与您想要做的有什么不同。在之前的一次迭代中,我试图传递一个基于另一个应答对象的lambda表达式,但我遇到了一个错误。但是,对于委托,它可以正常工作。