Gibt es eine Version von List, die Ereignisse hinzufügen und entfernen enthält?

8

Ich brauche eine .net-Sammlung mit Ereignissen zum Hinzufügen und Entfernen. Gibt es eine vorgefertigte Version, die das hat?

Ich würde beispielsweise einige interne Zähler aktualisieren, wenn ein Benutzer über das Ereignis ein Element zur Liste hinzufügt. (Nicht wirklich, was ich vorhabe.)

    
Vaccano 04.01.2010, 20:14
quelle

5 Antworten

14

Try ObservableCollection<T> unterstützt INotifyCollectionChanged , das Ereignisse für jeden Aspekt der Sammlungsänderung liefert.

Namespace: System.Collections.ObjectModel

Assembly: WindowsBase.dll

    
Aviad P. 04.01.2010, 20:15
quelle
7

ObservableCollection & lt; T & gt; ist so nah wie möglich im Framework.

OTOH, es ist nicht so schwer, das zu tun. Erstellen Sie einfach eine Klasse, die IList implementiert und eine interne List & lt; T & gt; Beispiel. Sie können Ihre Ereignisse einfach nach Bedarf auslösen.

    
Will 04.01.2010 20:16
quelle
1

Sie könnten immer eine private List<...> erstellen und dann auf eine Methode zugreifen:

%Vor%

oder Sie könnten es überladen und Ereignisse hinzufügen, wie Sie möchten.

    
Nathan Wheeler 04.01.2010 20:19
quelle
0

Sie können auch einen benutzerdefinierten leichtgewichtigen Wrapper schreiben, wenn Sie die Geschwindigkeit auf Kosten der Flexibilität optimieren möchten.

    
Hamish Grubijan 04.01.2010 20:17
quelle
0

Nicht, dass ich weiß, aber das wäre ziemlich einfach zu implementieren, Sie können einfach Ihre eigenen hinzufügen und entfernen Methoden, oder Sie könnten einen Indexer verwenden. Dann können Sie tun, was Sie in Bezug auf Ereignisse mögen.

    
Paul Creasey 04.01.2010 20:17
quelle

Tags und Links