我正在寻找帮助将具有多种数据类型的对象传递给COM对象,如下所示......
这是COM对象接口:
[id(0x00000004), helpstring("finds the next best item")]
unsigned long GetNextItem([in, out] SAFEARRAY(VARIANT) Content);
这是需要传递给COM对象的数组。
content[0][0] = 0.0
content[0][1] = 1
content[0][2] = 1
content[0][3] = 1
content[0][4] = -1
content[0][5] = 0.0
content[0][6] = 0.0
我有两个问题:
这是我无法通过的错误:
SafeArrayTypeMismatchException {“指定的数组不是预期的类型。”}
感谢任何帮助!
答案 0 :(得分:2)
content[0][0] = 0.0
这是一个锯齿状的数组,无法转换为SafeArray。您需要创建一个多维数组:
var content = new object[42, 666];
content[0, 0] = 0.0;