Enumérer les éléments d'une énumération

oberown Messages postés 88 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 5 juillet 2005 - 22 juin 2004 à 18:26
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 22 juin 2004 à 23:27
Comment enuméré tout les éléments d'une énumération.

Par exemple on a:
public enum Test
{
Haut,
Bas,
Droite,
Gauche,
}

Et on veut qu'on affiche
Haut
Bas
Droite
Gauche

J'ai essayé avec un foreach mais je n'y ai pas réussi.

6 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
22 juin 2004 à 20:59
avec "Reflection"

using System.Reflection;


string liste = "";
Type type = typeof(Test);
FieldInfo[] infos = type.GetFields(BindingFlags.Public|BindingFlags.Static);
foreach ( FieldInfo info in infos )
{
liste += info.Name +"\n";
}
MessageBox.Show(liste);


Cocoricoooooooo !!!!
0
oberown Messages postés 88 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 5 juillet 2005
22 juin 2004 à 22:09
Merci beaucoup pour la réponse.

Qu'est ce que reflection ?
et (BindingFlags.Public|BindingFlags.Static);
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
22 juin 2004 à 22:26
sur ce coup là notre amie msdn en sais plus que moi :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemReflection.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemreflectionbindingflagsclasstopic.asp

BindingFlags.Public|BindingFlags.Static permet de ne pas voir apparaitre le "value__"

sinon l'idée m'est venue en me souvenant d'un article que j'avais vu il y a qq temps
je vais essayer de retrouver l'adresse

Cocoricoooooooo !!!!
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
22 juin 2004 à 22:29
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oberown Messages postés 88 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 5 juillet 2005
22 juin 2004 à 23:19
J'ai trouvé plus simple sans reflection

Type a = typeof(Test);
foreach(String s in Enum.GetNames(a)
   Console.WriteLine(s);
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
22 juin 2004 à 23:27
oui c'est vrai c'est plus court ^^

Cocoricoooooooo !!!!
0
Rejoignez-nous