关于C++ 调用C# dll 出现无法转换的数据类型。。

C# 这个函数是这样定义的:Collection EnumerateUsb();

现在VC中可以正常调用C#的dll,包括需要的Namespace等,

CollectionSystem::string str = ls->EnumerateUsb(UsbDeviceType::AnyMasterEmulator);

现在用在这个方法获取出现如下错误:请问这个应该如何修改??如何做到数据的转换。。

1> CTestDlgDlg.cpp
1>CTestDlgDlg.cpp(164): error C2039: “string”: 不是“System”的成员
1>CTestDlgDlg.cpp(164): error C2065: “string”: 未声明的标识符
1>CTestDlgDlg.cpp(164): error C2923: “System::Collections::ObjectModel::Collection”: 对于参数“T”,“string”不是有效的 泛型 类型变量
1>CTestDlgDlg.cpp(164): error C2955: “System::Collections::ObjectModel::Collection”: 使用 类 泛型 需要 泛型 参数列表
1> c:\program files\reference assemblies\microsoft\framework.netframework\v4.0\mscorlib.dll : 参见“System::Collections::ObjectModel::Collection”的声明
1>CTestDlgDlg.cpp(164): error C2670: “System::Collections::ObjectModel::Collection::Collection”: 函数模板不能将参数 1 由类型“System::Collections::ObjectModel::Collection ^”转换

1个回答

两年半的等待。。。浏览人数不少。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问