public void Dispose() { if (m_snapshot != null) { m_snapshot.Dispose(); m_snapshot = null; } }
/// <summary> /// Releases the unmanaged resources used by the <see cref="ArchiveTreeStreamWrapper{TKey,TValue}"/> object and optionally releases the managed resources. /// </summary> /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> protected override void Dispose(bool disposing) { if (!m_disposed) { try { // This will be done regardless of whether the object is finalized or disposed. if (disposing) { // This will be done only when the object is disposed by calling Dispose(). m_snapshot.Dispose(); m_snapshot = null; } } finally { m_disposed = true; // Prevent duplicate dispose. base.Dispose(disposing); // Call base class Dispose(). } } }