Мне нужен класс коллекции в C #, который запускает событие, когда я добавляю или удаляю элемент. Есть ли такой класс коллекции?
ObservableCollection<T> должно работать в большинстве случаев. Он реализует INotifyCollectionChanged, который является интерфейсом, который:
ObservableCollection<T>
INotifyCollectionChanged
Уведомляет слушателей о динамических изменениях, например, когда элементы добавляются и удаляются или обновляется весь список.
System.Collections.ObjectModel.ObservableCollection реализовано INotifyCollectionChanged, что, вероятно, то, что вы хотите.Обратите внимание, что до .NET 4 этот класс находится в сборке WPF.
Вы также всегда можете реализовать INotifyCollectionChanged самостоятельно.
Вы можете взглянуть на класс ObservableCollection, у него есть события для CollectionChanged, который обрабатывает, когда элемент добавляется, удаляется, изменяется, перемещается или обновляется весь список..
ObservableCollection
CollectionChanged
Помимо ObervableCollection есть второй возможный кандидат, BindingList<T>.
ObervableCollection
BindingList<T>