问题描述
- 关于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 filesreference assembliesmicrosoftframework.netframeworkv4.0mscorlib.dll : 参见“System::Collections::ObjectModel::Collection”的声明
1>CTestDlgDlg.cpp(164): error C2670: “System::Collections::ObjectModel::Collection::Collection”: 函数模板不能将参数 1 由类型“System::Collections::ObjectModel::Collection ^”转换