У меня есть небольшой метод, который выглядит так:
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()));
}
}
По сути, я заполняю выпадающий список из перечисления. Description()
на самом деле является методом расширения для перечислений, поэтому T
определенно является enum
.
Тем не менее, я хочу привести obj
же, как и любое другое перечисление к его индексу, как этот (int)obj
, но я получаю сообщение о том, что не могу преобразовать T в int. Есть ли способ сделать это?