privateBoolean_isDisposing;// To detect redundant calls
/// <summary>
/// Gets the instance that this singleton represents.
/// If the instance is null, it is constructed and assigned when this member is accessed.
/// </summary>
/// <value>
/// The instance.
/// </value>
publicstaticTInstance=>LazyInstance.Value;
/// <inheritdoc />
publicvoidDispose()=>this.Dispose(true);
/// <summary>
/// Releases unmanaged and - optionally - managed resources.
/// Call the GC.SuppressFinalize if you override this method and use
/// a non-default class finalizer (destructor).
/// </summary>
/// <param name="disposeManaged"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>