変更できないネイティブ C++ dll の周りに CLI/C++ ラッパーを作成しています。ネイティブ DLL の関数の 1 つは、アンマネージ オブジェクトのベクトルを返します。このベクトルを CLI ラッパーでラップする最良の方法は何でしょうか? CLI ラッパーは、C# アプリケーションで使用されます。
class __declspec(dllexport) Instrument
{
public:
Instrument();
~Instrument();
string _type;
unsigned int _depth;
}
ネイティブ DLL には、ラップしようとしている関数 getInstruments() があります
class __declspec(dllexport) InstrumentList
{
InstrumentList();
~InstrumentList();
vector<Instrument*> getInstruments();
}
そのため、instrument クラスをマネージド クラスでラップし、InstrumentList クラスをマネージド クラスでラップする必要があります。Instrument クラスをラップしましたが、getInstruments() によって返されたベクトルを、InstrumentList の CLI ラッパーが返すことができる同等のものに変換する必要があります。