Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: Record zu Array of Byte

  Alt 16. Dez 2005, 19:37
Statt eine Methode mit "unsafe" zu kennzeichnen, kannst du auf Marshaller ausweichen.
Irgendwo aus dem Netz gefischt:
Code:
static byte[] YourStructToBytes( test s )
{
 int size = Marshal.SizeOf( s );
 byte[] retArr = new byte[ size ];
 IntPtr buf = Marshal.AllocHGlobal( size );   // create unmanaged memory
 Marshal.StructureToPtr ( s, buf, false );       // copy struct

 for (int i=0; i<size; ++i)
{
  retArr[i] = Marshal.ReadByte(buf, i);       // read unmanaged bytes
}
Marshal.FreeHGlobal( buf );
return retArr;
}
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat