protected override void Dispose(bool disposing) { GC.SuppressFinalize(this); if (disposing) reader.Dispose(); base.Dispose(disposing); }