如何在WindowsForms C#中解决System.Reflection.TargetParameterCountException?

时间:2017-06-19 06:29:57

标签: c# winforms invoke unhandled-exception invocationtargetexception

我收到参数计数不匹配异常。

  

未处理的异常:System.Reflection.TargetParameterCountException:参数计数不匹配。

我调用MethodInfo基础的代码部分如下所示

Type customerType = executingAssembly.GetType("LateBinding.Customer");
        object customerInstance = Activator.CreateInstance(customerType);
        MethodInfo method = customerType.GetMethod("printCustomerDetails");
        string customerObject = (string)method.Invoke(customerInstance, new object[0]);

我试图调用以下方法

public string printCustomerDetails(object parameters)
    {
        string CustomerName = "";
        foreach (object customer in parameters)
        {
            CustomerName = CustomerName + " " + customer;
        }
        return CustomerName.Trim();
    }

我有没有想过调用MethodInfo基础的东西?

1 个答案:

答案 0 :(得分:0)

Method.Invoke第二个参数需要一个数组,但在你的代码中

string customerObject = (string)method.Invoke(customerInstance, new object[0]);

(新对象[0]); 未返回array.Its printCustomerDetails 返回一个数组。

所以你需要

string customerObject = (string)method.Invoke(customerInstance, Details(0));