小弟是新手,在C#中调用C++的DLL,C++接口原形为:Try(const unsigned int DestType,const std::string ID);调用方法如下:
[DllImport("DesktopAgent.dll", CharSet = CharSet.Ansi)]
public static extern int Try(uint DestType, string ID);Main中调用:
MessageBox.Show("测试:" + AgentSDK.AgentTryConsult(1,"1001").ToString());结果调试报错:未将对象引用设置到对象的实例。接口中的const std::string类型,在C#中应该怎么调用啊??
[DllImport("DesktopAgent.dll", CharSet = CharSet.Ansi)]
public static extern int Try(uint DestType, string ID);Main中调用:
MessageBox.Show("测试:" + AgentSDK.AgentTryConsult(1,"1001").ToString());结果调试报错:未将对象引用设置到对象的实例。接口中的const std::string类型,在C#中应该怎么调用啊??
对应string因该没错阿
public class test
{
...
[DllImport("DesktopAgent.dll", CharSet = CharSet.Ansi)]
public static extern int Try(uint DestType, string ID);
}Main中调用:
MessageBox.Show("测试:" + test.Try(1,"1001").ToString());结果调试报错:未将对象引用设置到对象的实例。接口中的const std::string类型,在C#中应该怎么调用啊??
你这个是怎么写的实现的?
那个申明的Try在哪里调用的 贴代码
对应String而不是string,试试