我尝试使用以下代码将枚举转换为通用列表
public static List<T> ToList<T>(Type t) where T : struct
{
return Enum.GetValues(typeof(T)).Cast<T>().ToList();
}
它成功地遵守了。
我试着用下面的代码调用上面提到的方法
enum Fruit
{
apple = 1,
orange = 2,
banana = 3
};
private List<Fruit> GetFruitList()
{
List<Fruit> allFruits = EnumHelper.ToList(Fruit);
return allFruits;
}
导致如下错误
Compiler Error Message: CS0118: 'default.Fruit' is a 'type' but is used like a 'variable'
所以我确定如何将枚举类型作为参数传递。
最佳答案
public static List<T> ToList<T>() where T : struct
{
return Enum.GetValues(typeof(T)).Cast<T>().ToList();
}
enum Fruit
{
apple = 1,
orange = 2,
banana = 3
};
private List<Fruit> GetFruitList()
{
List<Fruit> allFruits = EnumHelper.ToList<Fruit>();
return allFruits;
}
关于C#:将枚举类型作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5168326/