/// <summary> /// Releases the unmanaged resources used by the <see cref="AlarmAdapter"/> object and optionally releases the managed resources. /// </summary> /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> protected override void Dispose(bool disposing) { if (!m_disposed) { try { if (disposing) { if (m_alarmService != null) { m_alarmService.ServiceProcessException -= AlarmService_ServiceProcessException; m_alarmService.Dispose(); } lock (m_alarmLock) { foreach (SignalAlarms signalAlarms in m_alarmLookup.Values) { StatisticsEngine.Unregister(signalAlarms.Statistics); } } } } finally { m_disposed = true; // Prevent duplicate dispose. base.Dispose(disposing); // Call base class Dispose(). } } }
protected override void Dispose(bool disposing) { if (!disposed) { if (disposing) { _alarmService?.Dispose(); _alarmTuneService?.Dispose(); _userLogService?.Dispose(); _userPassResetService?.Dispose(); } disposed = true; } base.Dispose(disposing); }
/// <summary> /// Handles the FormClosing event of the AlarmForm control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="FormClosingEventArgs"/> instance containing the event data.</param> private void AlarmForm_FormClosing(object sender, FormClosingEventArgs e) { _alarmService.Dispose(); }