**unmanaged class**
Run Code Online (Sandbox Code Playgroud)
这是非托管类声明
#ifdef EXPORT_CLASS
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT __declspec(dllimport)
#endif
public class DLL_EXPORT cppclass
{
private:
string x;
public:
cppclass();
~cppclass();
string native();
};
**UNMANAGED CLASS DEFINITION**
Run Code Online (Sandbox Code Playgroud)
这是非托管类定义
cppclass::cppclass()
{
x="hello";
};
cppclass::~cppclass()
{
};
string cppclass::native()
{
return x;
};
**MANAGED CLASS**
Run Code Online (Sandbox Code Playgroud)
这是托管类声明
public __gc class Mclass
{
//private:
public:
cppclass * obj;
public:
Mclass();
~Mclass();
string native();
Run Code Online (Sandbox Code Playgroud)
};
**MANAGED CLASS DEFINITION**
Run Code Online (Sandbox Code Playgroud)
//这是托管类定义
#include"managed.h"
Mclass::Mclass()
{
obj=new cppclass();
};
Mclass::~Mclass()
{
delete obj;
};
string Mclass::native()
{
return obj->native();
};
Run Code Online (Sandbox Code Playgroud)
所有这四个文件都在一个项目中,它被制作成一个dll.现在如何在ac#项目中使用它
在C#项目中添加对DLL的引用,并像使用任何.NET类型一样使用它.可能你没有在DLL中找到任何导出的类型,因为这些必须是公共的.
编辑:BTW.我希望你在谈论C++/CLI,而不是C++/CLI之前的Managed C++.
| 归档时间: |
|
| 查看次数: |
1090 次 |
| 最近记录: |