public sealed override void RemoveAll(IEnumerable <T> enumer) { this.Modify( () => this.RemoveAllImpl(enumer), () => ListEventArgs.NewEventRemoveRange(enumer.Select(this.IndexOf), enumer)); }
public sealed override void RemoveAt(int index) { this.Modify( () => this.RemoveAtImpl(index), () => ListEventArgs.NewEventRemoveRange(new[] { index }, new[] { this[index] })); }
public sealed override void RemoveAll(int index, int count) { this.Modify( () => this.RemoveAllImpl(index, count), () => ListEventArgs.NewEventRemoveRange(index, Enumerable.Range(index, count).Select(i => this[i]))); }