internal ListChangedEventArgs(T item, ListItemChange change) { var value = item == null?Enumerable.Empty <T>() : new[] { item }; if (change == ListItemChange.Added) { this.AddedItems = value; } else if (change == ListItemChange.Removed) { this.RemovedItems = value; } }
private void OnListChangedInternal(T item, ListItemChange change) { if (!enabled) { return; } if (change == ListItemChange.Added)// && !addedItems.Contains(item)) { addedItems.Add(item); } else if (change == ListItemChange.Removed)// && !removedItems.Contains(item)) { removedItems.Add(item); } ListChanged?.Invoke(this, new ListChangedEventArgs <T>(item, change)); }