/// <summary> /// Removes the Item that corresponds to value. /// </summary> /// <param name="value">object</param> public virtual void Remove(Item.Base value) { bool Cancel = false; if (SuppressEvents == false) { if (ItemRemovedEvent != null) { ItemRemovedEvent(ref value, ref Cancel); } } if (Cancel) { return; } if (_useSortedList) { _sortedList.Remove(value); } else { _list.Remove(value); } }
/// <summary> /// removes the Item at Index /// </summary> /// <param name="index">int</param> public virtual void RemoveAt(int index) { bool Cancel = false; Item.Base MyItem = null; if (SuppressEvents == false) { if (ItemRemovedEvent != null) { MyItem = (Item.Base)_list[index]; } ItemRemovedEvent(ref MyItem, ref Cancel); } if (Cancel) { return; } if (_useSortedList) { _sortedList.RemoveAt(index); } else { _list.RemoveAt(index); } _dirty = true; }
public virtual void AddWithCancel(Item.Base myItem) { _list.Add(myItem); if (base.SuppressEvents == false) { if (ItemAddedWithCancelEvent != null) { ItemAddedWithCancelEvent(ref myItem, ref _cancelLoad); } } if (!_cancelLoad) { _dirty = true; } }
/// <summary> /// Removes the Item that has Key /// </summary> /// <param name="key">string</param> public virtual void Remove(string key) { bool Cancel = false; Item.Base MyItem = null; if (_useSortedList) { if (SuppressEvents == false) { if (ItemRemovedEvent != null) { MyItem = (Item.Base)_sortedList[key]; } ItemRemovedEvent(ref MyItem, ref Cancel); } if (Cancel) { return; } _sortedList.Remove(key); _dirty = true; } else { for (int Idx = 0; Idx <= _list.Count - 1; Idx++) { if (((Item.Base)_list[Idx]).Key == key) { RemoveAt(Idx); break; } } } }