コード例 #1
0
        private void serialize(AutoCSer.BinarySerializer serializer)
        {
            UnmanagedStream stream      = serializer.Stream;
            int             valueLength = Data.Length;
            byte *          data        = stream.GetBeforeMove((valueLength + (sizeof(int) + 3)) & (int.MaxValue - 3));

            *(int *)data = valueLength;

            fixed(byte *dataFixed = Data.GetFixedBuffer()) AutoCSer.Memory.Common.CopyNotNull(dataFixed + Data.Start, data += sizeof(int), valueLength);

            Reader.Next();
        }
コード例 #2
0
        private void serialize(AutoCSer.BinarySerialize.Serializer serializer)
        {
            UnmanagedStream stream = serializer.Stream;
            int             valueLength = Data.Length, size = (valueLength + (sizeof(int) + 3)) & (int.MaxValue - 3);
            byte *          data = stream.GetPrepSizeCurrent(size);

            *(int *)data = valueLength;

            fixed(byte *dataFixed = Data.Array) AutoCSer.Memory.CopyNotNull(dataFixed + Data.Start, data += sizeof(int), valueLength);

            stream.ByteSize += size;
            Reader.Next();
        }