System.Enum.Getnames(typeof(MyEnum))
要么
System.Enum.GetValues(typeof(MyEnum))
但是在Silverlight 3中,没有定义Enum.Getnames和Enum.GetValues。有谁知道一个替代?
解决方法 或者可以使用linq进行强类型化,如下所示:public static T[] GetEnumValues<T>() { var type = typeof(T); if (!type.IsEnum) throw new ArgumentException("Type '" + type.name + "' is not an enum"); return ( from fIEld in type.GetFIElds(BindingFlags.Public | BindingFlags.Static) where fIEld.Isliteral select (T)fIEld.GetValue(null) ).ToArray(); } public static string[] GetEnumStrings<T>() { var type = typeof(T); if (!type.IsEnum) throw new ArgumentException("Type '" + type.name + "' is not an enum"); return ( from fIEld in type.GetFIElds(BindingFlags.Public | BindingFlags.Static) where fIEld.Isliteral select fIEld.name ).ToArray(); }总结
以上是内存溢出为你收集整理的通过Silverlight中的枚举迭代?全部内容,希望文章能够帮你解决通过Silverlight中的枚举迭代?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)