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

BeginInvoke 参数计数不匹配 哪位高手给帮帮忙

2012-09-29 
BeginInvoke 参数计数不匹配 谁给帮帮忙?private void DllInvoke(string DllFileName, string NameSpace,

BeginInvoke 参数计数不匹配 谁给帮帮忙?
private void DllInvoke(string DllFileName, string NameSpace, string ClassName, string MethodName, object[] ObjArrayParams)
  {
  try
  {
  Assembly DllAssembly = Assembly.LoadFrom(DllFileName);
  Type[] DllTypes = DllAssembly.GetTypes();
  foreach (Type DllType in DllTypes)
  {
  if (DllType.Namespace == NameSpace && DllType.Name == ClassName)
  {
  MethodInfo MyMethod = DllType.GetMethod(MethodName);
  if (MyMethod != null)
  {
  object mObject = Activator.CreateInstance(DllType);
  //MyMethod.Invoke(mObject, new object[] { ObjArrayParams });
  LogicalMethodInfo myLogicalMethodInfo = (LogicalMethodInfo.Create(new MethodInfo[] { MyMethod }))[0];

  IAsyncResult myAsyncResult = myLogicalMethodInfo.BeginInvoke(mObject, new object[] { ObjArrayParams }, null, null);
  }
  }
  }
  }
这个方法调用时为什么一直提示参数类型不匹配?

[解决办法]
object[] ObjArrayParams 中的参数的顺序,是否与名字为"MethodName"的参数类型、顺序一致。

热点排行