将我的 C++CLI 程序集中返回类型为列表的方法公开到我的 C# 项目
我有一个 C++/CLI 项目,它包装了本机 C++ 应用程序,我在 C# 项目中使用它。我在 C++/CLI 类中添加了一些 void 方法,这些方法正确地暴露给我的 C# 项目。智能感知在 C# 中显示得很好,我可以与这些方法进行交互。但是,当我将结构体的返回类型放入 C++/CLI 中时,该方法在 C# 中不显示为可用。有什么想法吗?
C++/CLI
IPFILTERINFOLIST GetBlockList()
{
return _packetFilter->GetBlockList();
}
...调用...
C++ Native
IPFILTERINFOLIST PacketFilter::GetBlockList()
{
return m_lstFilters;
}
I have a C++/CLI project that wraps a native C++ application, which I use in my C# project. I added a few void methods in my C++/CLI class which expose correctly to my C# project. The intellisense shows fine in C# and I can interact with the methods. However, when I put a return type of a struct in C++/CLI, the method doesn't show as availible in C#. Any ideas?
C++/CLI
IPFILTERINFOLIST GetBlockList()
{
return _packetFilter->GetBlockList();
}
...which calls...
C++ Native
IPFILTERINFOLIST PacketFilter::GetBlockList()
{
return m_lstFilters;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该创建 IPFILERTINFO 结构的“托管版本”并将非托管数据复制到其中。然后创建一个普通的 .NET List<>并将所有这些托管对象添加到其中。
You should create a "managed version" of the IPFILERTINFO struct and copy your unmanaged data into it. Then you create a normal .NET List<> and add all those managed objects to it.