List<T>
не имеет поддержки уведомлений. Вы можете посмотреть на BindingList<T>
, который имеет события - или Collection<T>
, который может быть унаследован с помощью методов переопределения.
Если вы хотите выставить событие на уровне Foo
, возможно, что-то вроде ниже - но может быть легче оставить его в списке:
class Foo{
public event EventHandler ListChanged;
private readonly BindingList<string> list;
public Foo() {
list = new BindingList<string>();
list.ListChanged += list_ListChanged;
}
void list_ListChanged(object sender, ListChangedEventArgs e) {
EventHandler handler = ListChanged;
if (handler != null) handler(this, EventArgs.Empty);
}
public IList<string> SomeCollection {get {return list;}}
}