J'ai une petite méthode qui ressemble à ceci :
public void SetOptions<T>() where T : Enum
{
int i = 0;
foreach (T obj in Enum.GetValues(typeof(T)))
{
if (i == 0)
DefaultOption = new ListItem(obj.Description(), obj.ToString());
i++;
DropDownList.Items.Add(new ListItem(obj.Description(), obj.ToString()));
}
}
En fait, j'alimente une liste déroulante à partir d'une énumération. Description()
est en fait une méthode d'extension pour les enums, donc T
est définitivement un enum
.
Cependant, je veux lancer obj
comme vous le feriez pour n'importe quel enum à son index, comme ceci (int)obj
mais je reçois une erreur disant que je ne peux pas convertir T en int. Existe-t-il un moyen de le faire ?