DMI's Blog sur les technos .NET(dotnet) et J2EE

Enumérateur de string

 

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 :

 

  1. 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

};

 

  1. 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();

}

 

  1. 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-'

 

  1. Eh ben c’est parti ….

 

4 commentaires - aucun rétrolien