将多维(安全)数组从C#传递给COM

时间:2010-06-22 14:40:42

标签: c# com interop safearray

我有一个COM对象,它采用两个维度的0有界safearray。我需要将此数组传递给我的C ++ COM对象。我可以毫无问题地将VB6 multidim数组传递到C ++端,但我不知道如何在C#中设置它以便它将被正确编组。有谁知道设置多维数组并将其传递给COM的步骤?

2 个答案:

答案 0 :(得分:1)

我很确定应该按原样运作。只需确保传递真正的二维数组,而不是锯齿状数组。换句话说,传递arr [,]而不是arr [] []。

答案 1 :(得分:0)

我认为你必须为你的C ++ COM dll生成一个标准的com互操作(例如将它添加为你的c#项目的引用)。然后我认为C#应该正确编组一个标准的.Net(多维)数组作为com安全数组。试一试:)