Bonjour à tous,
J'ai bien avancé sur mes classes mais j'ai à nouveau un petit soucis.
Je m'explique: Aujourd'hui j'ai une collection (of T) qui pourrait stocker n'importe quoi. Le problème c'est que je voudrais maintenant m'abonner à PropertyChanged de BaseElement (En fait je ne stocke que des objets dérivés de baseElement) mais je ne peux pas puisque PropertyChanged n'est pas un Event de T (forcement). Est ce que je pourrais remplacer le (T) par BaseElement ?
Je suppose que je pourrais ainsi stocker tous ce qui est dérivé de BaseElement mais je n'en suis pas sûre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Public MustInherit Class BaseCollection(Of T) Inherits ReadOnlyDictionary(Of Object, T) ' Wrapper en lecture seul du dictionnaire spécifié Friend Overridable Sub Add(ID As Object, element As T) Me.Dictionary.Add(ID, element) AddHandler element.PropertyChanged, AddressOf PropertyChange ' Ne fonctionne pas !!! End Sub End ClassMerci beaucoup à vous....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Public MustInherit Class BaseElement Implements INotifyPropertyChanged Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged Protected Sub OnPropertyChanged(<CallerMemberName()> Optional ByVal propertyName As String = Nothing) RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName)) End Sub End Class
Partager