Riok.Mapperly by Mapperly Contributors, Lars Tönz, Manuel Allenspach

<PackageReference Include="Riok.Mapperly" Version="3.5.1-next.1" />

 IReferenceHandler

public interface IReferenceHandler
A reference handler can store and resolve references of mapping target objects.
void SetReference<TSource, TTarget>(TSource source, TTarget target)

Stores the created target instance. Called by Mapperly just after a new target object instance is created.

bool TryGetReference<TSource, TTarget>(TSource source, out TTarget target)

Before an object is created by Mapperly this method is called. It can attempt to resolve existing target object instances based on the source object instance. If false is returned, Mapperly creates a new instance of the target class. If true is returned, target has to be non-null. Mapperly then uses the target instance.