C++/CLI 转换非托管本机 C++列表到托管 C++/CLI 列表

发布于 2024-08-19 23:37:25 字数 85 浏览 4 评论 0原文

我有一个包含结构的 C++ 列表。我的 C++/CLI 项目使用本机 C++。我想将托管列表返回到我的 C# 项目。如何将我的 C++ 列表转换为托管列表?

I have a C++ list which contains a struct. My C++/CLI project consumes the native C++. I would like to return a managed list to my C# project. How can I convert my C++ list into a managed list?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夢归不見 2024-08-26 23:37:25

首先,您需要一个ref class,它充当每个项目的struct 的包装器。您可以将指向struct的指针存储为ref class中的字段。我们将其称为 StructWrapper

然后你需要一些东西来代表这个列表。最灵活的方法是公开 IEnumerable。要么编写自己的实现(不像听起来那么糟糕),要么只是将所有项目加载到 List 中并返回。

First you need a ref class that acts as a wrapper around the struct for each item. You can store a pointer to the struct as a field in the ref class. Let's call it StructWrapper.

Then you need something to represent the list. The most flexible way to do that is to expose an IEnumerable<StructWrapper>. Either write your own implementation (not as bad as it sounds) or just load all the items into a List<StructWrapper> and return that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文