/// <summary> /// Clears all values and raises events. /// </summary> public new void Clear() { DictionaryBeforeClearEventArgs e = new DictionaryBeforeClearEventArgs(); // Raise before events: bool bubble = true; if (BeforeClear != null) { foreach (DictionaryBeforeClearDelegate function in BeforeClear.GetInvocationList()) { e.Bubble = true; function.Invoke(this, e); bubble = bubble && e.Bubble; } } if (!bubble) { return; } // Clear items item: base.Clear(); m_col.Clear(); // Raise after events: if (AfterClear != null) { AfterClear.Invoke(this, new EventArgs()); } }
protected sealed override void OnClear() { BeforeClear?.Invoke(null, EventArgs.Empty); itemsToClear = ToArray(); base.OnClear(); }
private void ViewChannels_BeforeClear(object sender, EventArgs e) { foreach (ViewChannel item in m_ViewChannels) { item.ColorChanged -= ViewChannel_ColorChanged; item.NameChanged -= ViewChannel_ValueChanged; item.VisibleChanged -= ViewChannel_ValueChanged; } BeforeClear?.Invoke(this, e); }