小编man*_*hah的帖子

C++/CLI中的值类

在C++/CLI中使用值类有什么好处.值类包含成员函数吗?

c++ c++-cli managed

10
推荐指数
1
解决办法
6344
查看次数

从c#调用c ++ dll

**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() …
Run Code Online (Sandbox Code Playgroud)

c# c++ c++-cli

3
推荐指数
1
解决办法
1090
查看次数

在C++/CLI中使用EventHandler

- 我试图在c ++/cli中使用事件处理程序来抛出事件然后在c#中订阅它

class Mclass
{
 event System::EventHandler ^ someEvent;
 void ShowMessage(System::String ^)
 {
  someEvent(this,message);
 }
}
Run Code Online (Sandbox Code Playgroud)

- 但它会引发错误

错误C2664:'managed :: Mclass :: someEvent :: raise':无法将参数2从'System :: String ^'转换为'System :: EventArgs ^'

如何纠正它

c# c++-cli

2
推荐指数
1
解决办法
6457
查看次数

标签 统计

c++-cli ×3

c# ×2

c++ ×2

managed ×1