我有一个 C++ 类,我需要在 C# 应用程序中创建多个实例。显然这意味着我需要制作一个 C++/CLI 包装器,因为你不能将 C++ 类导入到 C# 中,但我以前从未使用过它。 C++类继承自一个基类,基类只包含几个纯虚函数,没有数据。 DLL 仅导出一个函数,该函数创建类的新实例并返回指向基类的指针。
什么 C++/CLI 类型可用于调用该函数并获取指向 C++ 类的指针,但也可以导入到 C# 中?
谢谢。
最佳答案
您不需要任何特殊的“C++/CLI 类型”,您应该能够像普通 C++ 一样调用该函数。但是,如果您想在 C# 中使用 C++ 类,您确实需要编写 C++/CLI 托管包装类,您将能够在 C# 中使用它。
托管包装类将包含一个包含指向非托管类的指针的文件。它还将包含与非托管类相同的成员,这些成员转发给它们的非托管等价物。
有关如何执行此操作的示例,请参阅 How to: Wrap Native Class for Use by C# on MSDN .
关于c++ - 从可以导入到 C# 中的 C++/CLI 包装器返回指向非托管类的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9555442/