gpt4 book ai didi

c# - 如何从 C# 返回集合对象并在 C++ 中访问它们?

转载 作者:行者123 更新时间:2023-11-28 04:00:23 25 4
gpt4 key购买 nike

我曾尝试从 C# 返回对象集合并通过 COM 使用 C++ 访问它们但失败了。我已尝试全部列出 ArrayList 和 IDictionary 但失败了。

我试过了

How to return a collection of strings from C# to C++ via COM interop也没有成功。

谁能帮帮我

最佳答案

@Partial,你提出了一个重要的观点。您不能将 .NET“对象”传回 C++(除非它是托管 C++),因为 .NET 对象语义与 C++ 对象语义不同。

@Cute:但是,您可以传递 COM 接口(interface)指针。如果您需要“传统 C++”代码与 .NET 对象对话,请使用 COM 接口(interface),而不是对象。

确保您的对象被标记为 COM 对象,并且您实现了一个合适的接口(interface),其中包含您的 C++ 所需的方法。然后,将接口(interface)引用数组传回 C++ 代码。 C++ 代码应该获得 COM 接口(interface)指针的 SafeArray,它可以使用通常的 COM 语义(AddRef() 等)对其进行操作。

关于c# - 如何从 C# 返回集合对象并在 C++ 中访问它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1054406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com