/// <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)); } }
/// <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)); } } }