In vielen Fällen muss mit Listen gearbeitet werden. In vielen Fällen wird dazu eine generische Liste oder eine der Listen aus dem System.Collecitons-Namespace verwendet. Bei einem Großteil der Listen ergibt sich jedoch das Problem, dass es kein Event gibt, welches mir als Entwickler anzeigt, dass sich ein Item in meiner Liste verändert hat, oder ein neues Item hinzu kam.
Einer der Fälle, in denen genau diese "Benachrichtigungen" notwendig sind, ist das DataBinding (binden von Daten an ein Ziel). Dementsprechend nennt sich auch eine Klasse, die uns diese Funktionalität anbietet, ohne dass man hier Klimmzüge vollbringen muss: BindingList.
AddingNew wird geworfen, wenn der Liste ein neues Item hinzugefügt wird. ListChanged, wenn sich ein bestehendes Item geändert hat.
Somit sind Listen, die auf die BindingList basieren, für DataBinding geeignet, als auch dann, wenn man über eine Änderung der Items-Auflistung informiert werden muss.
Ein Beispiel zu dieser Klasse finden sich im MSDN.
Hinweis: Diese Klasse gibt es seit dem .NET Framework 2.0.