<PackageReference Include="System.Text.Json" Version="5.0.0-preview.4.20251.6" />

ReferenceHandling

public sealed class ReferenceHandling
using System.Runtime.CompilerServices; namespace System.Text.Json.Serialization { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public sealed class ReferenceHandling { private readonly PreserveReferencesHandling _preserveHandlingOnSerialize; private readonly PreserveReferencesHandling _preserveHandlingOnDeserialize; public static ReferenceHandling Default { get; } = new ReferenceHandling(PreserveReferencesHandling.None); public static ReferenceHandling Preserve { get; } = new ReferenceHandling(PreserveReferencesHandling.All); private ReferenceHandling(PreserveReferencesHandling handling) : this(handling, handling) { } private ReferenceHandling(PreserveReferencesHandling preserveHandlingOnSerialize, PreserveReferencesHandling preserveHandlingOnDeserialize) { _preserveHandlingOnSerialize = preserveHandlingOnSerialize; _preserveHandlingOnDeserialize = preserveHandlingOnDeserialize; } internal bool ShouldReadPreservedReferences() { return _preserveHandlingOnDeserialize == PreserveReferencesHandling.All; } internal bool ShouldWritePreservedReferences() { return _preserveHandlingOnSerialize == PreserveReferencesHandling.All; } } }