Problemer med konvertering af struct til byte[]
Har følgende 2 structs som hverindeholder endnu en struct mainFrame.public struct s1
{
public mainframe main;
public int telegramNr;
}
public struct s2
{
public mainframe main;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 50)]
public char[] strFileName;
}
For at konvertere struct s1 til byte[] virker følgende kode.
s1 datastruct = new s1();
..bla bla bla
byte[] arr = new byte[Marshal.SizeOf(datastruct)];
fixed (byte* parr = arr)
{ *((s1*)parr) = (s1)datastruct; }
Men det fungere ikke ved s2, hvor jeg får følgende fejl.
Cannot take the address of, get the size of, or declare a pointer to a managed type.
Det må da kunne lade sig gøre.