public static byte[] Pack(object obj)
{
byte[] data;
using (MemoryStream memoryStream = new MemoryStream()) {
(new BinaryFormatter()).Serialize(memoryStream, obj);
data = memoryStream.ToArray();
}
if (BitConverter.IsLittleEndian) Array.Reverse(data);
return data;
}