Boucle sur une énumération (possible ou non ?, VB2005) [Résolu]

Signaler
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
-
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
-
Bonjour
Alors voila j'ai un enum (qui pourrais être amené à être complété) contenant des valeurs à inséré dans un combo box (je l'utilise aussi pour d'autre utilisation bien sur).
A fin de m'éviter d'avoir à modifier trop de code en cas d'ajout dans cette enum je pensais faire un truc du genre de :
'8<----------------------------------------------------------
Private Enum as E_Toto
    a = 1
    b = 2
    c = 3
end enum

private sub Toto()
    for each élément as E_Toto in E_Toto
       me.combobox1.items.add (élément)
    end for
End sub
'---------------------------------------------------------->8

Je ne suis pas vraiment convaincu que sa puisse se faire mais ne sait t'on jamais
Merci par avance

Amicalement
Pensez "Réponse acceptée"

2 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
33
Salut,

C'est possible avec la Reflexion :

Imports System.Reflection

' ...

Private Enum E_Toto
  a = 1
  b = 2
  c = 3
End Enum

' ...

For Each E_TotoField As FieldInfo In GetType(E_Toto).GetFields(BindingFlags.Public Or BindingFlags.Static)
  Me.ComboBox1.Items.Add(String.Format("{0} - {1}", E_TotoField.GetRawConstantValue(), E_TotoField.Name))
Next

__________
  Kenji
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Merci
C'est exactement ce que je vouais faire

Amicalement
Pensez "Réponse acceptée"