gpt4 book ai didi

在调用方法(反射)中传递对象数组时出现 C# 参数计数不匹配错误

转载 作者:行者123 更新时间:2023-11-30 20:11:33 25 4
gpt4 key购买 nike

我想在这里动态调用函数并传递参数,不知道为什么会在那里抛出错误。

Assembly objAssembly;
objAssembly = Assembly.GetExecutingAssembly();

//get the class type information in which late bindig applied
Type classType = objAssembly.GetType("Project." +strClassname);

//create the instance of class using System.Activator class
object obj = Activator.CreateInstance(classType);

//fixed object objValue[5];/* = new object[5];
object[] _objval = new object[3];

MethodInfo mi = classType.GetMethod("perFormAction");
mi.Invoke(obj, **_objval**); // Error here ..

我不知道为什么会在这里抛出参数计数不匹配。

最佳答案

好的 - 请注意,您的方法的参数是一个类型为对象数组的单个参数。因此,您需要以相同的方式传递它。例如,

object[] _objval = new object[3];
.... // Fill the array with values to be supplied here
object[] parameters = new object[] { _objval }; // one parameter of type object array
...
mi.Invoke(obj, parameters);

关于在调用方法(反射)中传递对象数组时出现 C# 参数计数不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3673924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com