public sealed override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options) { // Bridge from resumable to value converters. if (options == null) { throw new ArgumentNullException(nameof(options)); } WriteStack state = default; state.Initialize(typeof(T), options, supportContinuation: false); TryWrite(writer, value, options, ref state); }
public sealed override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options) { if (options is null) { ThrowHelper.ThrowArgumentNullException(nameof(options)); } // Bridge from resumable to value converters. WriteStack state = default; JsonTypeInfo typeInfo = options.GetTypeInfoInternal(typeof(T)); state.Initialize(typeInfo); try { TryWrite(writer, value, options, ref state); } catch { state.DisposePendingDisposablesOnException(); throw; } }