我调用DLL中有这样一个函数  void  GetStoreResult(VResult &vTemp) 
功能是取出结果存到 vTemp 中
而 VResult 的类型 为 typedef std::vector<RESULTSTORE>       VResult;
struct RESULTSTORE
{
    DWORD    dwClient_no;                    
    string   strDis;                        
    string   strServer;                      
    std::vector<std::string>    vResult;     };问题是C#没有相匹配的类型,怎样才能调用void  GetStoreResult(VResult &vTemp)取出结果呢
各位帮忙给点思路啊  

解决方案 »

  1.   

    STL不是简单数据类型, C#中没有直接与之对应的东西.对于这种复杂的数据结构, 简单的做法是写一个C++的dll作为桥梁, 将STL转换为简单数据类型.比如你的例子中, std::vector <std::string>, 你用C++将这个容器转换为string数组. 然后就可以方便的传递给.Net.
      

  2.   

    有道理!!  楼上果然厉害 
    我想把结构体中的元素拆分放到相应的简单类型的数组中 然后以这些数组为参数传递 应该可以吧C++ 中的string 的数组 和C#中的string数组可以匹配么