将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++/CLI应用程序的公共接口是一个契约。本合同双方都必须知道。您不需要在两端定义类,而是使用一个程序集来定义它们,并在dll和program中引用该程序集。
因为你的c++/CLi dll可能已经在你的c#项目中被引用了,所以在公共接口中定义你的类,然后在你的c#应用程序中使用它。