public byte[] Serialize()
{
int index = 0;
byte[] serializeBuffer = new byte[this.Size()];
serializeBuffer[index++] = this.RopId;
serializeBuffer[index++] = this.LogonId;
serializeBuffer[index++] = this.InputHandleIndex;
Array.Copy(BitConverter.GetBytes((ulong)this.MessageId), 0, serializeBuffer, index, sizeof(ulong));
index += sizeof(ulong);
Array.Copy(BitConverter.GetBytes((ulong)this.FolderId), 0, serializeBuffer, index, sizeof(ulong));
index += sizeof(ulong);
if (this.MessageClass != null)
{
Array.Copy(this.MessageClass, 0, serializeBuffer, index, this.MessageClass.Length);
index += this.MessageClass.Length;
}
Array.Copy(BitConverter.GetBytes((uint)this.MessageFlags), 0, serializeBuffer, index, sizeof(uint));
index += sizeof(uint);
return serializeBuffer;
}