using System; using System.Collections; using System.Collections.Generic; public class BindingList : IEnumerable { public event Action OnListChanged; private List items = new List(); public IEnumerator GetEnumerator() { return items.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } public void Add(T item) { items.Add(item); OnListChanged?.Invoke(); } public void Remove(T item) { items.Remove(item); OnListChanged?.Invoke(); } public void Clear() { items.Clear(); OnListChanged?.Invoke(); } public T this[int index] { get { return items[index]; } } public int Count { get { return items.Count; } } }