protected override void Dispose(bool disposing) { if (!m_disposed) { try { if (disposing) { if ((object)m_currentState != null) m_currentState.Dispose(); m_currentState = null; } } finally { m_disposed = true; // Prevent duplicate dispose. base.Dispose(disposing); // Call base class Dispose(). } } }
/// <summary> /// Releases the unmanaged resources used by the <see cref="FtpFileWatcher"/> 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) { try { if (!m_disposed) { if (disposing) { Close(); if ((object)m_session != null) { m_session.CommandSent -= OnCommandSent; m_session.ResponseReceived -= OnResponseReceived; m_session.Dispose(); } m_session = null; if ((object)m_watchTimer != null) { m_watchTimer.Elapsed -= WatchTimer_Elapsed; m_watchTimer.Dispose(); } m_watchTimer = null; if ((object)m_restartTimer != null) { m_restartTimer.Elapsed -= RestartTimer_Elapsed; m_restartTimer.Dispose(); } m_restartTimer = null; } } m_disposed = true; } finally { base.Dispose(disposing); } }