首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

HELP 调用DLL传接参数时出错

2011-12-17 
HELP 调用DLL传递参数时出错DimMtypecAsTypeDimMobjectAsObjectMtypecType.GetTypeFromProgID( MOD.MD5

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)

请问为什么会出错啊?   谢谢

[解决办法]
指定的参数数目与所需数目不匹配.

编译器回答的很清楚了

热点排行