我有一个看起来像这样的小方法:
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。有没有办法做到这一点?