private bool disposedValue = false; // To detect redundant calls protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { writer.Dispose(); cancellationTokenSource.Dispose(); } // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below. // TODO: set large fields to null. disposedValue = true; } }
private bool disposedValue = false; // To detect redundant calls protected override void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { cancellationTokenSource.Cancel(); readerTask.Wait(); pipeReader.Complete(); pipeWriter.Complete(); writer.Dispose(); cancellationTokenSource.Dispose(); } // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below. // TODO: set large fields to null. logger = null; disposedValue = true; } base.Dispose(disposing); }