WP7中的Enum.GetValues

Cod*_*iwi 10 windows-phone-7

为什么Enum.GetValues()在Windows Phone 7 API中不可用,这是否意味着我应该回避Enums而选择结构或其他机制.

Chr*_*nty 15

我遇到过这个.为了我的目的,我能够使用反射

foreach (var x in typeof(MyEnum).GetFields()) {
  if (x.IsLiteral) {
    // Do my stuff here
  }
}
Run Code Online (Sandbox Code Playgroud)

真的取决于你在做什么.

  • `MyEnum enumValue =(MyEnum)x.getValue(typeof(MyEnum));`如果需要,`会得到你的值. (2认同)

Stu*_*art 5

为什么Enum.GetValues()在Windows Phone 7 API中不可用

"为什么"是因为WP7基于"Compact Framework" - 为了节省资源,紧凑框架不包含完整框架中的每个方法 - 而Enum.GetValues()就是其中之一.

这是否意味着我应该回避Enums,支持结构或其他机制.

不 - 没有特别的理由.我建议你继续使用枚举,你会发现它们是最合适的编程解决方案.