0
我正在寫一個dll庫,必須可以連接到任何項目,並有一件事我無法解決。從DLL文件調用MethodInfo
我需要從DLL文件調用/運行MethodInfo。它看起來像這樣。 SenderMethod,與args相同,並且count是動態的。
Private Shared Sub BGthread(SenderMethod As MethodInfo, arg0 As Object, arg1 As Object, ...)
Dim SenderType As Type = GetType(SenderMethod.ReflectedType.Name)
SenderMethod.Invoke(SenderType, New Object() {ActLV, e, Arg0, Arg1, ...})
End Sub
問題是GetType什麼也沒有返回。我知道assambly的名字在那裏丟失,但是我沒有找到適用於調用者類不是靜態的情況的解決方案。
請幫忙! 謝謝!
謝謝您的重播!現在,我得到了'Dim SenderType As Type = SenderMethod.ReflectedType.AssemblyQualifiedName.GetType'和'SenderMethod.Invoke(SenderType,New Object(){ActLV,e})''給出了錯誤:TargetExpension是未處理的 - Object與目標類型不匹配。我相信這是因爲SenderType是System.String:/我錯過了什麼? – user1983608
「MethodInfo.Invoke」的第一個參數必須是「SenderType」類型的實例。如果你只是想把它傳遞給你,那也是最好的方法。 –