/// <summary> /// Convert the data of this class (all fields) into byte data. /// </summary> /// <returns>Byte data.</returns> public override byte[] GetBytes() { byte[] headbytes = new byte[HeadSize]; // !!!!Caution: keep the order of the following code lines!!!! var data = GetBytes(Signature, DataVersion.Bytes(), DataByteCount.Bytes(), StartClassId.Bytes(), ClassIdsCount.Bytes(), ClassIdsDataOffset.Bytes(), SchemaTypeCount.Bytes(), SchemaTypeDataOffset.Bytes(), ParticleCount.Bytes(), ParticleDataOffset.Bytes(), ParticleChildrenIndexCount.Bytes(), ParticleChildrenIndexDataOffset.Bytes(), AttributeCount.Bytes(), AttributeDataOffset.Bytes(), SimpleTypeCount.Bytes(), SimpleTypeDataOffset.Bytes()); data.CopyTo(headbytes, 0); return(headbytes); }