Mercredi 8 Mars 2006
Enumérateur de string
Par dotnet, Mercredi 8 Mars 2006 à 09:16 GMT+2 dans .NET
Comme vous le savez très bien il peut être très utile de pouvoir faire des énumérateurs de string (par défaut les enumérateurs contiennent des entiers).
Avec .NET on peut facilement faire cela en ajoutant des descriptions à vos enumérateurs.
Pour cela procédez comme suit :
- Ajoutez les espaces de noms suivants à votre classe
using System.ComponentModel;
using System.Reflection;
Créer
votre enumérateur (dans mon cas j’ai un énumérateur « Voitures »)
enum Voitures{
[Description("Une Renault 12 année 75
-Française-")]R12,
[Description("Une Renault 5 année 60
-Française-")]R5,
[Description("Une Peugeot 607 année 2001
-Française-")]P607
};
- Ajouter
la méthode suivante permettant de récupérer la description d’une voiture
private string _GetDesc(Voitures enumConst)
{
FieldInfo finfo = enumConst.GetType().GetField(enumConst.ToString());
object [] descAttr = finfo.GetCustomAttributes(typeof(DescriptionAttribute),false);
if(descAttr.Length > 0)
return ((DescriptionAttribute)descAttr[0]).Description;
else
return
enumConst.ToString();
}
- Récupérer la description d’un élément
Voitures
v_f = Voitures.P607;
string desc = _GetDesc(v_f);//='Une Peugeot 607 année
2001 -Française-'
- Eh ben c’est parti ….





