public void Dispose() { if (!m_Disposed) { m_Disposed = true; m_Parent.Remove(this); Dispose(true); } }
/// <summary> /// イベントの解除を行います。 /// </summary> public void Dispose() { Log.Trace("[ilib-event] dispose."); m_Parent?.Remove(this); m_Paths?.Clear(); if (m_Calls == null) { return; } lock (m_Locker) { foreach (var call in m_Calls.ToArray()) { if (call != this) { call.Dispose(); } } m_Calls.Clear(); } }