Example #1
0
        /// <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);
        }