/// <summary> /// Removes a range of Enum Items /// </summary> /// <param name="EnumItems">The range to remove</param> public void RemoveRange(T[] EnumItems) { if (EnumItems == null) { return; } foreach (var EnumItem in EnumItems) { if (OptionRemoving != null) { SelectedOptionCancelEventArgs <T> cArgs = new SelectedOptionCancelEventArgs <T>(EnumItem); OptionRemoving(this, cArgs); if (cArgs.Cancel == true) { return; } } if (this[EnumItem] == true) { this.Options.Remove(EnumItem); this.Keys.Remove(EnumItem.ToString()); if (OptionRemoved != null) { OptionRemoved(this, new SelectedOptionEventArgs <T>(EnumItem)); } } } }
/// <summary> /// Adds an enum item to the inner list /// </summary> /// <param name="EnumItem">The enum item to add</param> /// <remarks> /// If the <paramref name="EnumItem"/> exist it will not be added again. /// </remarks> public void Add(T EnumItem) { if (OptionAdding != null) { SelectedOptionCancelEventArgs <T> cArgs = new SelectedOptionCancelEventArgs <T>(EnumItem); OptionAdding(this, cArgs); if (cArgs.Cancel == true) { return; } } if (this[EnumItem] == false) { this.Options.Add(EnumItem); this.Keys.Add(EnumItem.ToString()); if (OptionAdded != null) { OptionAdded(this, new SelectedOptionEventArgs <T>(EnumItem)); } } }