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