将C#List传递给C ++ CLI List并转换为vector

时间:2013-04-19 06:13:29

标签: c# c++-cli

问题陈述:我希望将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 ++),而且我似乎对谷歌搜索和书籍搜索做得不够。

1 个答案:

答案 0 :(得分:0)

C ++ / CLI应用程序的公共接口是一个契约。该合同必须为双方所知。您没有在两端定义类,但使用一个程序集来定义它们并在dll和program中引用此程序集。

由于您的C ++ / CLi dll可能已在C#项目中引用,请在公共接口中定义您的类并在C#应用程序中使用它。