Atata by Yevgeniy Shunevych

<PackageReference Include="Atata" Version="2.1.0" />

.NET API 648,704 bytes

 LazyObjectSource<TObject>

public class LazyObjectSource<TObject> : IObjectSource<TObject>
Represents the lazy object source that gets an object using function once.
public bool IsDynamic { get; }

Gets a value indicating whether the source is dynamic (value can vary for every value request).

public TObject Object { get; }

Gets the object value/instance.

public string SourceProviderName { get; }

Gets the name of the source provider.

public LazyObjectSource(Func<TObject> objectGetFunction)

Initializes a new instance of the LazyObjectSource<T> class.