C#中使用List<T>来和C++之前传送数组。
在C++的托管中使用Collections::IList^ 与C#中的List<T>映射。
//声明
int testVect(Collections::IList^ vecArray);
//定义
int dllForCS::robotServer::testVect(Collections::IList ^ vecArray)
{
vecArray->Insert(3,"four"); //插入: 在数组的第三个位置再插入一个字符串
String ^ str = (String^)vecArray[1] ; //访问: 获取第一个成员,并转化成String^
vecArray->Add(str+"qqq"); // 末端插入一个字符串
return vecArray->Count; //返回数组的大小
}
///C#调用接口
List<string> lst = new List<string>(); //新建一个list,并插入三个元素
lst.Add("one");
lst.Add("two");
lst.Add("three");
int n = server.testVect(lst);
MessageBox.Show(n.ToString(),"size"); //n=5
ps:ILists是接口类,可继承重写。