Boucle sur une énumération (possible ou non ?, VB2005)

Résolu
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 - 2 juin 2008 à 11:51
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 - 2 juin 2008 à 14:43
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

Utilisateur anonyme
2 juin 2008 à 12:20
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
3
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
2 juin 2008 à 14:43
Merci
C'est exactement ce que je vouais faire

Amicalement
Pensez "Réponse acceptée"
0
Rejoignez-nous