从C++/CLI包装返回指向非托管类的指针,该类可以导入C#
Returning pointer to unmanaged class from C++/CLI wrapper which can be imported into C#
我有一个C++类,需要在C#应用程序中创建几个实例。显然,这意味着我需要制作一个C++/CLI包装器,因为你不能将C++类导入C#,但我以前从未使用过它。C++类继承自一个基类,该基类只包含几个纯虚拟函数,没有数据。DLL只导出一个函数,该函数创建类的新实例并返回基类的指针。
什么样的C++/CLI类型可以用来调用该函数并获得指向C++类的指针,但也可以导入C#?
谢谢。
您不需要任何特殊的"C++/CLI类型",您应该能够像从普通C++一样调用该函数。但是,如果您想使用C#中的C++类,您确实需要编写能够从C#中使用的C++/CLI托管包装器类。
托管包装类将包含一个具有指向非托管类的指针的文件。它还将包含与非托管类相同的成员,这些成员将转发到它们的非托管等价类。
有关如何执行此操作的示例,请参阅MSDN上的如何:包装本机类以供C#使用。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 为什么使用 "this" 指针调用派生成员函数?
- 函数向量_指针有不同的原型,我可以构建一个吗
- 使用指针从C++中的数组中获取最大值
- 助记符和指向成员语法的指针
- 嵌入方指针压缩已禁用
- 数组的指针从不分段故障
- C++ 指针的内存地址和指向数组的内存地址如何相同?
- 何时在引用或唯一指针上使用移动语义
- QMetaObject invokeMethod的基于函数指针的语法
- 尝试导入pybind-opencv模块时出现libgtk错误
- 如何从 std::atomic 中提取指针 T<T>?
- 如何在 C# 中映射双 C 结构指针?
- C++将浮点指针值舍入为小数位数
- 通过从 C++ 导入图像指针来处理 Lua 中的图像流
- 导入C 功能将结构的指针返回到VB.NET中
- 将带有指针的C++DLL导入C#
- 从C++/CLI包装返回指向非托管类的指针,该类可以导入C#
- 使用指针清理导入程序