private bool disposedValue = false; // To detect redundant calls protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { Cf?.Close(); Cf = null; } disposedValue = true; } }