/// <inheritdoc /> public int Serialize(TEnumerable value, Action <byte> writeByte) { ISerializerContracts.Serialize(value, writeByte); int serializedLength = this.CountSerializer.Serialize(this.GetCount(value), writeByte); return(SerializeEnumerable.SerializeValues(this.ValueSerializer, value, writeByte) + serializedLength); }
/// <inheritdoc /> public int Serialize(TEnumerable value, byte[] buffer, ref int index) { ISerializerContracts.Serialize(this, value, buffer, index); int originalArrayIndex = index; this.CountSerializer.Serialize(this.GetCount(value), buffer, ref index); SerializeEnumerable.SerializeValues(this.ValueSerializer, value, buffer, ref index); return(index - originalArrayIndex); }