public new void RemoveRange(int index, int count) { var c = GetRange(index, count); base.RemoveRange(index, count); CollectionRemove?.Invoke(c, Enumerable.Range(index, count)); }
public new int RemoveAll(Predicate <T> match) { var e = FindAll(match); if (e.Count > 0) { int j = -1; var indexes = from a in e select j = IndexOf(a, j + 1); base.RemoveAll(match); CollectionRemove?.Invoke(e, indexes); } return(e.Count); }