Как упорядочить массив структур - (.Net / C # => C ++)
Отказ от ответственности: близок к нулю с маршаллинг концепций ..
У меня есть структура B, которая содержит строку + массив структур C. Мне нужно отправить это через гигантскую пропасть взаимодействия потребителю COM - C ++.
Какой набор атрибутов мне нужен для украшения моего определения структуры?
[ComVisible (true)]
[StructLayout(LayoutKind.Sequential)]
public struct A
{
public string strA
public B b;
}
[ComVisible (true)]
[StructLayout(LayoutKind.Sequential)]
public struct B
{
public int Count;
[MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct, SizeParamIndex=0)]
public C [] c;
}
[ComVisible (true)]
[StructLayout(LayoutKind.Sequential)]
public struct C
{
public string strVar;
}
edit: @Andrew В основном это проблема моих друзей. У него есть эта штука, работающая в .Net - он делает несколько автоматических действий, чтобы создать .tlb / .tlh, который он затем может использовать в области C ++. Беда в том, что он не можетфиксировать размер массива.