public byte[] Serialize()
{
byte[] serializedBuffer = new byte[Marshal.SizeOf(this)];
IntPtr requestBuffer = new IntPtr();
requestBuffer = Marshal.AllocHGlobal(Marshal.SizeOf(this));
try
{
Marshal.StructureToPtr(this, requestBuffer, true);
Marshal.Copy(requestBuffer, serializedBuffer, 0, Marshal.SizeOf(this));
return serializedBuffer;
}
finally
{
Marshal.FreeHGlobal(requestBuffer);
}
}