0

问题陈述:我希望将 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; }

}

因此,模拟将如下所示:

List<EtchVect> etchVects = new List<EtchVect>();
etchVects.Add(new EtchVect() {LayerName = "C2", XCoordinate = 42.44, YCoordinate = 563.99});

现在我希望收到 C++/CLI 中的列表我应该在 C++ 中创建一个具有属性的类吗?
C++ CLI 如何接受来自 C# 的列表?然后我还希望在 C++ 中有一个函数来将 List 转换为 std::vector

我确信这些东西已经被其他人做过很多次了,这对我来说只是一个陌生的领域(C++),而且我似乎在谷歌搜索和书籍搜索方面做得不够。

4

1 回答 1

0

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

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

于 2013-04-19T07:23:03.000 回答