У меня есть список объектов, необходимо выполнить маршалинг от структуры к указателю и отправить в неуправляемый код,
IntPtr buffer = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(StructClassA)) * ListClassA.Length);
for (int Index = 0; Index < ListClassA.Length; Index++)
{
var intrt = (IntPtr)(buffer.ToInt64() + (Index * Marshal.SizeOf(typeof(StructClassA))));
Marshal.StructureToPtr(ListClassA[Index], intrt, false);
}
ClassA
{
public float floatA;
public float floatB;
public float floatC;
public ushort Id;
public short ints;
public byte type;
}
это правильный путь или какой-нибудь лучший вариант сделать маршалинг?
Проблема в том, что если список содержит от 300 до 500 объектов, то мы должны повторять это много раз.