HELP 调用DLL传递参数时出错
Dim Mtypec As Type
Dim Mobject As Object
Mtypec = Type.GetTypeFromProgID( "MOD.MD5 ")
If Mtypec Is Nothing Then
Mobject = Nothing
Else
Mobject = Activator.CreateInstance(Mtypec)
Dim params1() As Object = { "HELLO "}
Dim params2(1) As Object
params2(0)= "HELLO "
使用 params1 传递参数 : 成功
RStr= Mtypec.InvokeMember( "MD5 ", BindingFlags.InvokeMethod, Nothing, Mobject, params1)
使用 params1 传递参数 : 失败
RStr= Mtypec.InvokeMember( "MD5 ", BindingFlags.InvokeMethod, Nothing, Mobject, params2)
错误提示:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.Reflection.TargetParameterCountException: 指定的参数数目与所需数目不匹配。
--- 内部异常堆栈跟踪的结尾 ---
在 System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)
在 System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
在 System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args)
请问为什么会出错啊? 谢谢
[解决办法]
指定的参数数目与所需数目不匹配.
编译器回答的很清楚了