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# からリストを受け入れることができますか? また、リストを std::vector に変換する関数を C++ に用意したいと考えています。

このようなことは他の人によって何度も行われていると確信しています。それは私 (C++) にとってなじみのない領域であり、Google 検索や書籍検索では不足しているようです。

4

1 に答える 1

0

C++/CLI アプリケーションのパブリック インターフェイスはコントラクトです。この契約は、両当事者が知っている必要があります。両端でクラスを定義するのではなく、1 つのアセンブリを使用してそれらを定義し、このアセンブリを dll とプログラムの両方で参照します。

C++/CLi dll はおそらく C# プロジェクトで既に参照されているため、パブリック インターフェイスでクラスを定義し、C# アプリケーションから使用します。

于 2013-04-19T07:23:03.000 に答える