【发布时间】:2014-04-22 15:15:18
【问题描述】:
我想创建一个枚举列表,就像我可以创建一个枚举类型列表一样,
例如
public enum Enum1{
Member1,
Member2,
Member3
}
public enum Enum2 {
Member1,
Member2,
Member3
}
public List<Type> EnumTypes = new List<Type> {
typeof(Enum1),
typeof(Enum2),
}
工作正常,但是
public List<System.Enum> EnumTypes = new List<System.Enum> {
Enum1,
Enum2
};
不起作用。
我想添加以下详细信息: 我的代码的第一部分有效,它一直在运行...... 第二部分不起作用,我提到过。 我想为根本问题添加更多细节:
我的情况是,我有一个枚举类型列表(即 EnumTypes )。我遍历列表做某事。不幸的是,我需要扩展正文并调用 Enumhelper.GetEnumNames,其中 T axtually 是一个枚举。我使用 WEC7,其中 Enum.GetNames(typeof(MyEnum)) 不存在。 所以我希望有一种方法可以构建一个枚举列表,而不是枚举类型,并迭代该列表。 另外,如果有一种方法,如果我有一个类型,typeof(T),其中 T 是一个枚举,可以调用 Enumhelper.GetEnumNames,也就是说从它的类型中获取一个枚举,这将有很大帮助。
public void enumtester(){
foreach (var typeOfEnum in EnumHelper.EnumTypes) {
........
// typeOfEnum is typeof(T), but I do not know how to call the following method
List<string> names = EnumHelper.GetEnumNames<T>();
}
【问题讨论】:
-
正确。问题是什么?
-
@João
I would like to有点暗示问题how do I? -
@Rawling 确实如此,但我无法从他的代码 sn-ps 中准确收集到他想要做什么。他的代码不仅不起作用,而且没有任何意义......
-
我是你害怕你会这么说。实际上,我陷入了一种情况,即我有一个 EnumTypes 列表(如定义),但我想调用一个方法,该方法需要枚举作为参数,签名是 public List
GetEnumNames ()。 T 是枚举,而不是 typeof(enum),我使用 WEC7,其中未定义 enum.getvalues 和 enum.getnames