发布网友
共1个回答
热心网友
这个问题很明显啊,你调用methodInfo.Invoke 方法的时候没有传递参数进去,参数不匹配,当然报错了。在使用反射机制动态调用方法时,你先要知道此方法需要什么参数,参数的类型,参数的个数等等。比方说我有一个方法:publc void TestMethod(int a, int b); 那么你调用的时候就要这样写:
int a = ...;
int b = ...;
methodInfo.Invoke(this, new object[] { a, b });
所以你这个ExecuteSense 方法的签名应该改为:
public object ExecuteSense(string senseMethod, obejct[] args);
参数在外部传入。