/// <summary> /// Implementation of the standard dispose pattern. /// </summary> /// <param name="disposing">Whether or not this instance is being disposed, as opposed to finalized.</param> protected virtual void Dispose(bool disposing) { if (disposing) { _tokenSource?.Dispose(); _tokenSource = null; _ambientTimer?.Dispose(); _ambientTimer = null; } }
protected virtual void Dispose(bool disposing) { if (!_disposedValue) { _disposedValue = true; if (disposing) { // TODO: dispose managed state (managed objects) _timer.Dispose(); _writeLock.Dispose(); _currentFileWriter?.Dispose(); _currentFileWriter = null; } // TODO: free unmanaged resources (unmanaged objects) and override finalizer // TODO: set large fields to null } }