コード例 #1
0
        public static void Serialize <T>(T item, Stream target)
        {
            MsgPackItem packed = SerializeObject(item);

            byte[] buffer = packed.ToBytes();
            target.Write(buffer, 0, buffer.Length);
            return;
        }
コード例 #2
0
        public override byte[] ToBytes()
        {
            List <byte>   bytes  = new List <byte>();// cannot estimate this one
            MsgPackTypeId typeId = GetTypeId(value.LongLength);

            if (typeId == MsgPackTypeId.MpArray4)
            {
                bytes.Add(GetLengthBytes(typeId, value.Length));
            }
            else
            {
                bytes.Add((byte)typeId);
                bytes.AddRange(GetLengthBytes(value.LongLength, SupportedLengths.FromShortUpward));
            }
            for (int t = 0; t < value.Length; t++)
            {
                MsgPackItem item = MsgPackItem.Pack(value[t], _settings);
                bytes.AddRange(item.ToBytes());
            }
            return(bytes.ToArray());
        }