Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

reflexion + valeur des constantes

1 réponse
Avatar
Titeuf
Bonjour,

J'ai l'enumération suivante:

enum CSIDL
{
FLAG_CREATE = 0x8000,
ADMINTOOLS = 0x0030,
ALTSTARTUP = 0x001d,
APPDATA = 0x001a,
BITBUCKET = 0x000a,
CDBURN_AREA = 0x003b,
COMMON_ADMINTOOLS = 0x002f,
COMMON_ALTSTARTUP = 0x001e,
COMMON_APPDATA = 0x0023,
COMMON_DESKTOPDIRECTORY = 0x0019,
COMMON_DOCUMENTS = 0x002e,
COMMON_FAVORITES = 0x001f,
COMMON_MUSIC = 0x0035,
COMMON_PICTURES = 0x0036,
COMMON_PROGRAMS = 0x0017,
COMMON_STARTMENU = 0x0016,
COMMON_STARTUP = 0x0018
........
}

Mon problème est le suivant.
J'ai un tableau de x dimensions contenant le nom de constantes présent dans
CSIDL

string[] szcol = new string[5]{"RECENT", "DESKTOP","PERSONAL","DRIVES",
"NETWORK"};

Est-ce qu'il y a un moyen avec ou sans la réflexion de récupérer les valeurs
de ces noms constantes que j'ai dans mon tableau en parcourant mon enum
CSIDL ?

Merci d'avance.

1 réponse

Avatar
Titeuf
Finalement j'ai fini par trouvé, c'est plus simple que je l'imaginais.
Pour ceux que cela interesse


-----------------------------------

string[] szcol = new string[5]{"RECENT", "DESKTOP","PERSONAL","DRIVES",
"NETWORK"};

StringCollection szcol2 = new StringCollection();
szcol2.AddRange(Enum.GetNames(typeof(CSIDL)));

for (int i = 0; i < c; i++)
{
int cst_value = szcol2.IndexOf(szcol[i]);
Console.Write(cst_value.ToString());
}
.......