如何创建一个SafeArray c#

本文关键字:一个 SafeArray 创建 何创建 | 更新日期: 2023-09-27 17:54:34

我需要创建一个SafeArray来传递给COM方法。
如何在c#中创建/维护/销毁SafeArray ?

我以前从来没有遇到过SafeArrays,也无法通过快速的谷歌搜索找到很多,所以任何帮助都非常感谢。

编辑:添加示例代码:

COM方法签名

[id(0x000000d5)]
HRESULT GetTags(
                [in] SAFEARRAY(long) buffer, 
                [out, retval] long* retval);

c#中生成的互操作方法

int GetTags(System.Array buffer)
    Member of Cwise.IUser

所以在这种情况下,我必须创建一个SafeArray或我可以简单地传递一个正常的。net数组到COM方法GetTags?

如何创建一个SafeArray c#

使用这样的代码

Array ar = Array.CreateInstance(typeof (int), 500);

代替typeof(int)使用你自己的数据类型,你的COM对象必须告诉你期待什么类型