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 :
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
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
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 Sub
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
J'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
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
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 ?