我有一个通过名称动态调用其他函数的函数。我需要将哈希表传递给被调用的函数。我的代码在 VB.Net 中工作,但是在尝试将其转换为 C# 时,当我尝试将哈希表作为参数传递时遇到错误。有人可以解释发生了什么以及我如何解决它吗?
这是有效的 VB.Net 代码:
Dim objTF As New ThreadFunctions
Dim objResults As Object = CallByName(objTF, htParameters.Item("strMethodName"), CallType.Get, htParameters)
这是 C# 代码:
ThreadFunctions objTF = new ThreadFunctions();
Type objType = objTF.GetType();
MethodInfo miMethod = objType.GetMethod(htParameters["strMethodName"].ToString());
object objResults = miMethod.Invoke(objTF, htParameters); //This line has the issue
错误 1 'System.Reflection.MethodBase.Invoke(object, object[])' 的最佳重载方法匹配有一些无效参数