public void WriteEnumerable(ref WriteStack state, Utf8JsonWriter writer) { Debug.Assert(ShouldSerialize); int originalDepth = writer.CurrentDepth; OnWriteEnumerable(ref state.Current, writer); if (originalDepth != writer.CurrentDepth) { ThrowHelper.ThrowJsonException_SerializationConverterWrite(state.PropertyPath(), ConverterBase.ToString()); } }
public void Write(ref WriteStack state, Utf8JsonWriter writer) { Debug.Assert(ShouldSerialize); if (state.Current.CollectionEnumerator != null) { // Forward the setter to the value-based JsonPropertyInfo. JsonPropertyInfo propertyInfo = ElementClassInfo.PolicyProperty; propertyInfo.WriteEnumerable(ref state, writer); } else { int originalDepth = writer.CurrentDepth; OnWrite(ref state.Current, writer); if (originalDepth != writer.CurrentDepth) { ThrowHelper.ThrowJsonException_SerializationConverterWrite(state.PropertyPath(), ConverterBase.ToString()); } } }