C# 使用托管c++;c语言中的动态链接库#

C# 使用托管c++;c语言中的动态链接库#,c#,c++,C#,C++,这是非托管类声明 **unmanaged class** cppclass::cppclass() { x="hello"; }; cppclass::~cppclass() { }; string cppclass::native() { return x; }; **MANAGED CLASS** 这是非托管类定义 #ifdef EXPORT_CLASS #define DLL_EXPORT __declspec(dllexport) #else #define DLL_EXPORT

这是非托管类声明

**unmanaged class**
 cppclass::cppclass()
{
x="hello";
};
cppclass::~cppclass()
{
};
string cppclass::native()
{
return x;
};

**MANAGED CLASS**
这是非托管类定义

#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**
**MANAGED CLASS DEFINITION**
这是托管类声明

**unmanaged class**
 cppclass::cppclass()
{
x="hello";
};
cppclass::~cppclass()
{
};
string cppclass::native()
{
return x;
};

**MANAGED CLASS**
})

//这是托管类定义

#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**
**MANAGED CLASS DEFINITION**
}


出现以下错误:语言不支持Managed.Mclass.nativ()

您正在从C++/CLI包装类返回本机字符串。您需要返回托管的.net字符串。包装类必须将本机类的参数和返回值转换为适当的托管类