我有两个非常简单的方法,其中一个我可以调用,另一个给我未找到的异常,这里是方法:
class SimClass
{
public int GeneralMethod1(int a)
{
return a;
}
public int GeneralMethod2(Input input)
{
return input.Numberi;
}
}
class Input
{
public int Numberi { get; set; }
}
我可以简单地调用“GeneralMethod1”:
Assembly assembly = Assembly.LoadFrom("C:\\Amir\\SimFIle.dll");
Type type = assembly.GetType("SimFIle.SimClass");
object instanceOfMyType = Activator.CreateInstance(type);
object[] Args1 = new object[1]; Args1[0] = -1;
object result = type.InvokeMember("GeneralMethod1",
BindingFlags.Default | BindingFlags.InvokeMethod,
null,
instanceOfMyType,
Args1);
但在调用“GeneralMethod2”时遇到问题:
Input input = new Input { Numberi = -5};
object[] Args2 = new object[1]; Args2[0] = input;
object output = type.InvokeMember("GeneralMethod2",
BindingFlags.Default | BindingFlags.InvokeMethod,
null,
instanceOfMyType,
Args2);
你能告诉我我的错误是什么吗?