问题陈述:我希望将C#中的通用列表传递给C ++ / CLI,然后将C ++ / CLI中的List转换为std :: vector
在C#中我有课
public class EtchVect
{
public double XCoordinate { get; set; }
public double YCoordinate { get; set; }
public string LayerName { get; set; }
}
那么模拟就像这样:
List<EtchVect> etchVects = new List<EtchVect>();
etchVects.Add(new EtchVect() {LayerName = "C2", XCoordinate = 42.44, YCoordinate = 563.99});
现在我希望在C ++ / CLI中收到List 我应该用C ++在属性中创建一个类吗? C ++ CLI如何从C#接受List? 我还希望在C ++中有一个函数将List转换为std :: vector
我确信这些东西已经被其他人多次完成了,对我来说这只是一个陌生的领域(C ++),而且我似乎对谷歌搜索和书籍搜索做得不够。
答案 0 :(得分:0)
C ++ / CLI应用程序的公共接口是一个契约。该合同必须为双方所知。您没有在两端定义类,但使用一个程序集来定义它们并在dll和program中引用此程序集。
由于您的C ++ / CLi dll可能已在C#项目中引用,请在公共接口中定义您的类并在C#应用程序中使用它。