簡體   English   中英

通過名稱調用函數並在C#中傳遞hashtable參數

[英]Call function by name and pass hashtable parameter in C#

我有一個通過名稱動態調用其他函數的函數。 我需要將哈希表傳遞給被調用的函數。 我有在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 [])'的最佳重載方法匹配具有一些無效的參數

嘗試

object objResults = miMethod.Invoke(objTF, (object)htParameters);

作為params第二個參數威脅哈希表錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM