ネイティブ C 構造体配列を、C# に渡すことができる C++/Cli マネージド構造体配列に変換しようとしています。私はそれを行うための最良かつよりパフォーマンスの高い方法を探しています。ループを変換する明白な方法を避けようとしています。
これが私のコードです:
#pragma unmanaged
struct MyStruct
{
int Integer;
double Double;
};
static void populateNative(MyStruct*&structArray,int size)
{
structArray = new MyStruct[size];
for(int i=0;i<size;i++)
{
structArray[0].Integer = i;
structArray[0].Double = i;
}
}
#pragma managed
using namespace System;
using namespace System::Runtime::InteropServices;
public ref struct MyStructManaged
{
int Integer;
double Double;
};
int main(array<System::String ^> ^args)
{
int size = 10;
MyStruct *structArray;
populateNative(structArray, size);
//How to transform MyStruct* to array<MyStructManaged> ?
return 0;
}
構造体配列をネイティブからマネージ C++ に変換するにはどうすればよいですか?
ありがとう。