Bonjour,
Classes filles : Pays, Secteur
Classe mère abstraite : Element
Chaque classe filles a une liste shared. Ainsi la classe Pays a une liste propre a la classe reprenant tout les pays
Classe Pays :
J'ai un module composé de plusieurs méthodes du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Shared liste As New List(Of Pays) Shared ReadOnly Property getListe() As List(Of Pays) 'renvoie la liste des pays Get Return liste End Get End Property
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub remplirComboPays(ByRef combo As ComboBox) If Pays.getListe.Count.Equals(0) Then Pays.RemplirListe() End If combo.Items.Clear() For Each p As Pays In Pays.getListe combo.Items.Add(p) Next End SubJ'aimerai unifier ces méthodes en quelque chose du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub remplirComboSecteur(ByRef combo As ComboBox) If Secteur.getListe.Count.Equals(0) Then Secteur.RemplirListe() End If combo.Items.Clear() For Each p As Secteur In Secteur.getListe combo.Items.Add(p) Next End Sub
Pour le moment ma classe mère ne s'occupe pas du tout des listes alors que chaque sous classe en a une. Devrais-je prévoir quelque chose ? Et si oui comment ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub remplirComboSecteur(ByVal e as Element, ByRef combo As ComboBox) If e.getListe.Count.Equals(0) Then 'e ?? est-il possible de trouver l'instance de E et y appliquer getListe ? et ce sans passer par plein de elseif typeOf e is ... e.RemplirListe() End If combo.Items.Clear() For Each p As Secteur In e.getListe combo.Items.Add(p) Next End Sub
Partager