public override BitStream Serialize(BitStream stream, Dictionary <TKey, TValue> value) { if (value == null) { BinaryWriter.Write(stream, 0); return(stream); } BinaryWriter.Write(stream, value.Count); foreach (var node in value) { SerializeKey.Serialize(stream, node.Key); SerializeValue.Serialize(stream, node.Value); } return(stream); }
public override BitStream Serialize(BitStream stream, List <TValue> value) { if (value == null) { BinaryWriter.Write(stream, 0); return(stream); } int count = value.Count; BinaryWriter.Write(stream, count); for (int index = 0; index < count; index++) { SerializeValue.Serialize(stream, value[index]); } return(stream); }