我有一个小方法,看起来像这样:
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。有办法吗?