public override void RemoveAt(int index) { TData dataToRemove = _datas[index]; _datas.RemoveAt(index); OnCollectionContentRemoved?.Invoke(dataToRemove); }
public override void Remove(TKey key) { TValue valueToRemove = _dictionary[key]; _dictionary.Remove(key); OnCollectionContentRemoved?.Invoke(new KeyValuePair <TKey, TValue>(key, valueToRemove)); }
public override void Remove(TData value) { if (!_datas.Contains(value)) { throw new ArgumentException(); } while (_datas.Contains(value)) { _datas.Remove(value); } OnCollectionContentRemoved?.Invoke(value); }