ioW*_*int 9 .net enums enumeration
比方说,我们有一个包含随机值的成员的枚举
enum MyEnum
{
enumMember1 = 100,
enumMember2 = 10,
enumMember3 = 50
}
Run Code Online (Sandbox Code Playgroud)
我们无法按照定义的顺序遍历枚举成员!Enum.GetValues并Enum.GetNames在内部对成员进行排序并给出结果!
迭代Enum.GetNames或Enum.GetValues返回的数组.ToString()并对每个数组元素执行a 给出,
enumMember2, enumMember3, enumMember100.
Run Code Online (Sandbox Code Playgroud)
只是想知道是否有任何开箱即用的方法来获得enum成员按照他们创建的顺序?搜索,没有得到太多信息!谢谢!
PS我不想通过自定义属性完成这项工作!在起草它时,我怀疑如果在对Enum成员进行排序之后产生了枚举的IL,那就去检查它吧!
Mag*_*nus 10
你可以使用反射:
var values = typeof(MyEnum).GetFields(BindingFlags.Public | BindingFlags.Static)
.Select (x => Enum.Parse(typeof(MyEnum), x.Name));
Run Code Online (Sandbox Code Playgroud)