public byte[] GenerateBytes()
{
using (MemoryStream stream = new MemoryStream())
{
BinaryWriter writer = new BinaryWriter(stream);
foreach (object part in _parts)
{
if (part is uint || part is int)
writer.Write((uint)part);
else if (part is ushort || part is short)
writer.Write((ushort)part);
else if (part is byte || part is sbyte)
writer.Write((byte)part);
}
return stream.ToArray();
}
}