c# - 如何将二维数组从 C# 传递到 C++?

标签 c# atl

以下方法是C++(ATL COM dll)

Void Write( Const VARIANT *pData)

pData 是数据类型 Variant 的二维数组。

当我在 C# .NET 项目中添加此引用时,IDE 将方法显示为

Void Write( ref object pData);

如何从 C# 传递二维数组?

最佳答案

VARIANT 数组非常适合 VARIANT 类型。你可以像这样:

无效写入(VARIANT vData)

其中 vData.vt == (VT_ARRAY | VT_VARIANT)vData.parrray 是数组数据(安全数组 - 它可以是任意维的,数组描述符本身包含边界和维数)。 C# 将能够正确处理。

关于c# - 如何将二维数组从 C# 传递到 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15215950/

相关文章:

javascript - 如何将 javascript Date() 转换为 COleDateTime

c# - COM ApplicationClass.Documents.Open线程

c# - 如何在#if 语句中设置.NET Core 进行编译

visual-studio-2010 - 为什么 VS 2010 ATL 简单对象向导不会在项目名称包含连字符时生成 .cpp/.h 文件?

winapi - 检测在 ListView 内单击并显示上下文菜单

c++ - 当 CComCriticalSection::Lock 可能返回 E_FAIL

c++ - 运算符 TYPE () 并获取对象的地址

c# - 设置/取消设置键盘焦点

C# 如何验证 Root-CA-Cert 证书 (x509) 链?

c# - 使用 .Net 调用 Servicenow Web 服务