<PackageReference Include="System.Text.Json" Version="9.0.6" />

JsonResumableConverter<T>

abstract class JsonResumableConverter<T> : JsonConverter<T>
using System.Text.Json.Serialization.Metadata; namespace System.Text.Json.Serialization { internal abstract class JsonResumableConverter<T> : JsonConverter<T> { public override bool HandleNull => false; public sealed override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (options == null) ThrowHelper.ThrowArgumentNullException("options"); ReadStack state = default(ReadStack); JsonTypeInfo typeInfoInternal = options.GetTypeInfoInternal(typeToConvert, true, true, false, false); state.Initialize(typeInfoInternal, false); TryRead(ref reader, typeToConvert, options, ref state, out T value, out bool _); return value; } public sealed override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options) { if (options == null) ThrowHelper.ThrowArgumentNullException("options"); WriteStack state = default(WriteStack); JsonTypeInfo typeInfoInternal = options.GetTypeInfoInternal(typeof(T), true, true, false, false); state.Initialize(typeInfoInternal, null, false, false); try { TryWrite(writer, ref value, options, ref state); } catch { state.DisposePendingDisposablesOnException(); throw; } } } }