using System; using System.Collections.Generic; using System.ComponentModel; using System.Reflection; using System.Text; namespace WCS.Model.ApiModel { public static class EnumHelps { public static List GetEnumList(Type type) { List strings = new List(); if (type.IsEnum) { var fields = type.GetFields(BindingFlags.Static | BindingFlags.Public) ?? new FieldInfo[] { }; foreach (var field in fields) { strings.Add(field.Name); } } else { } return strings; } /// /// 得到枚举详情 /// /// 枚举 /// 描述为空时,是否采用名称值 /// 枚举值,名称,描述 public static List> GetEnumDescriptionList(Type type, bool isDescriptionNullInName = false) { var strings = new List>(); if (type.IsEnum) { var fields = type.GetFields(BindingFlags.Static | BindingFlags.Public); if (fields == null) return strings; foreach (var field in fields) { int enumValue = Convert.ToInt32(field.GetRawConstantValue()); string enumName = field.Name; string description = string.Empty; var descriptionAttribute = field.GetCustomAttribute(false); if (descriptionAttribute != null) description = descriptionAttribute.Description; else if (isDescriptionNullInName) description = enumName; strings.Add(new Tuple(enumValue, enumName, description)); } } else { } return strings; } } }