/// <summary>
 /// Binary serialize
 /// </summary>
 /// <param name="stream">stream to write</param>
 /// <param name="value">value to serialize</param>
 public void BinarySerialize(ref BufferBuilder stream, ref List <T> value)
 {
     if (value.Count > 0)
     {
         stream.Write(BitConverter.GetBytes(value.Count));
         var count = value.Count;
         for (int i = 0; i < count; i++)
         {
             var obj = value[i];
             typeGoInfo.BinarySerialize(ref stream, ref obj);
         }
     }
     else
     {
         stream.Write(BitConverter.GetBytes(0));
     }
 }
示例#2
0
 /// <summary>
 /// Binary serialize
 /// </summary>
 /// <param name="stream">stream to write</param>
 /// <param name="value">value to serialize</param>
 public void BinarySerialize(ref BufferBuilder stream, ref T[] value)
 {
     if (value == null)
     {
         stream.Write(BitConverter.GetBytes(-1));
     }
     else
     {
         if (value.Length > 0)
         {
             stream.Write(BitConverter.GetBytes(value.Length));
             for (int i = 0; i < value.Length; i++)
             {
                 T obj = value[i];
                 typeGoInfo.BinarySerialize(ref stream, ref obj);
             }
         }
         else
         {
             stream.Write(BitConverter.GetBytes(0));
         }
     }
 }