2010-07-22 6 views

Répondre

5

Pouvez-vous utiliser le ObservableCollection?

http://msdn.microsoft.com/en-us/library/ms668604.aspx

+1

Mon seul inconvénient à propos de l'utilisation de 'ObservableCollection' est que si vous devez actionner les éléments qui changent, la méthode' .Clear() 'soulève l'événement changé mais n'a aucun élément dans les arguments, donc, vous ne savez pas ce qui était enlevé. Ceci n'est évidemment pertinent que si vous vous en souciez. – Marc

+0

Bon à savoir. Merci d'avoir commenté. –

+0

.net 3.5? ...... – spender

2

Comment créer une sous-classe List et remplacer la méthode Add?

void Main() 
{ 
    var x=new MySpecialList<string>(); 
    x.Add("hello"); 
} 

class MySpecialList<T>:List<T> 
{ 
    public new void Add(T item) 
    { 
     //special action here 
     Console.WriteLine("added "+item); 
     base.Add(item); 
    } 
} 
+1

Et si elle est bourrée dans la base 'List ' en tant que variable, ce '.Add' ne sera jamais appelé. – Marc

+0

"bourré dans la base ..."? Je ne comprends pas ce que tu veux dire. – spender

+0

'Liste items = new MySpecialList (); items.Add (5); 'Il n'y a pas de sortie de console écrite. C'est le fléau d'utiliser 'new' pour faire l'ombre à la méthode de la classe de base au lieu, par exemple, d'implémenter' IList 'au lieu de ce que vous suggérez. – Marc

Questions connexes