C#使用包装类中的字符串参数调用c ++方法

时间:2016-06-13 04:08:09

标签: c# c++ string

我试图调用一个使用字符串参数的c ++类的方法,但是我有这个错误

错误CS0570' Wrapper.write(int,?)'语言不支持

基本上我有这个代码,它适用于没有字符串对象的其他简单方法

我看了this,但由于它们不是静态方法,我无法使用它

有什么想法吗?

在C#中

Wrapper tb = new Lib.Wrapper();
tb.write( 1, "tablas.txt");

在C ++ Lib.h中

private:
     myCppClass* pMyCppClass;
public:
     Wrapper();
     int write(int id, String^ file);

和C ++ Lib.cpp

int Lib::Wrapper::write(int id, String^ file)
{
     std::string aux= marshal_as < std::string > (file);    
     return pMyCppClass->write(id, aux);
}

1 个答案:

答案 0 :(得分:0)

我发现这些库没有更新,所以我删除了dll,清理了解决方案,重新编译并再次添加C#中的引用并且它可以正常工作