使用Invoke
方法将类对象作为参数发送的语法是什么?
Invoke
方法调用导致错误:
“类型为'MSM_ns.MyParameterClass'的对象无法转换为'MSM_ns.MyParameterClass'”
基本数据类型的参数工作正常,但复杂的数据类型会导致错误。
byte[] data = new byte[] { 0x01, 0x02, 0x03, 0x04 };
MyParameterClass myParams = new MyParametersClass("ABC", 123, 3.14159);
// attach to the dll
MethodInfo dllMethodInfo = Invoke.LoadDLL("MSM.dll", "MSM_ns", "MSMClass", "MSMMethod1");
// attach the parameters
object[] parameters = new object[2];
parameters[0] = data;
parameters[1] = myParams;
// call the DLL
bool result = (bool)dllMethodInfo.Invoke(null, parameters);
--------
public static bool MSMMethod1(ref byte[] dataToVerify, MyParameterClass myParams)
{
. . .
}
答案 0 :(得分:0)
您正在加载两次相同的程序集,两个相同但不兼容的类型。
您只需要加载一次程序集。