
Envoyé par
Ingham
Pour "caster en int" un enum, il faut faire comme ca:
1 2 3 4 5 6 7
| [Flags]
public enum Colones
{
valeur1 = 0,
valeur2 = 1,
valeur3 = 2
} |
L'utilisation du FlagsAttibute n'est absolument pas obligatoire, et dans ce cas, ça ne sert à rien.
Sans précision, l'enum est un int32, et des valeurs continues sont attribuée automatiquement. Cependant, attribuer des valeurs peut s'avérer plus pratique pour la maintenance. Donc si on retire [Flags], l'exemple de code est, je trouve, une bonne façon de faire.

Envoyé par
jml94
objTable.Columns[(int)objDef.Colonnes.identifiant]
je pense que tu veux plutôt écrire ça :
objTable.Columns[(int)objDef.EnColonnes.identifiant]
Du coup, la propriété "Colonnes" ne sert à rien.
Si cette classe sert à décrire une table, je ne trouve pas ça choquant d'avoir la définition de l'énum à l'intérieur de la dite classe.
Partager