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

本文关键字:List 转换 CLI vector c++ | 更新日期: 2023-09-27 18:10:09

问题说明:我希望将c#中的泛型列表传递给c++/CLI,并能够将c++/CLI中的列表转换为std::vector

在c#中,我有一个类
public class EtchVect
{
    public double XCoordinate { get; set; }
    public double YCoordinate { get; set; }
    public string LayerName { get; set; }
}

那么mock up看起来就像这样:

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++),我似乎缺乏谷歌搜索和书籍搜索。

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

c++/CLI应用程序的公共接口是一个契约。本合同双方都必须知道。您不需要在两端定义类,而是使用一个程序集来定义它们,并在dll和program中引用该程序集。

因为你的c++/CLi dll可能已经在你的c#项目中被引用了,所以在公共接口中定义你的类,然后在你的c#应用程序中使用它。

相关文章: