public override void ApplyTo(BufferedLinkedList <T> parent, LinkedList <T> list, List <T> added, List <T> removed) { removed.Add(item.Value); parent.OnItemRemoving(new ItemEventArgs <T>(item.Value)); list.Remove(item); parent.OnItemRemoved(new ItemEventArgs <T>(item.Value)); }
public override void ApplyTo(BufferedLinkedList <T> parent, LinkedList <T> list, List <T> added, List <T> removed) { T[] temp = list.ToArray(); removed.AddRange(temp); for (int i = 0; i < temp.Length; i++) { parent.OnItemRemoving(new ItemEventArgs <T>(temp[i])); } list.Clear(); for (int i = 0; i < temp.Length; i++) { parent.OnItemRemoved(new ItemEventArgs <T>(temp[i])); } }