ReferenceResolver
Defines how the JsonSerializer deals with references on serialization and deserialization.
Defines the core behavior of preserving references on serialization and deserialization.
using System.Runtime.CompilerServices;
namespace System.Text.Json.Serialization
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class ReferenceResolver
{
public abstract void AddReference(string referenceId, object value);
public abstract string GetReference(object value, out bool alreadyExists);
public abstract object ResolveReference(string referenceId);
internal virtual void PopReferenceForCycleDetection()
{
throw new InvalidOperationException();
}
internal virtual void PushReferenceForCycleDetection(object value)
{
throw new InvalidOperationException();
}
internal virtual bool ContainsReferenceForCycleDetection(object value)
{
throw new InvalidOperationException();
}
}
}