Exemplo n.º 1
0
        public static string GetDescription(Type enumType, int enumValue)
        {
            if (enumType == null)
            {
                throw new ArgumentNullException("enumType");
            }
            if (!enumType.IsEnum)
            {
                throw new ArgumentException("enumType不是枚举类型");
            }
            EnumItem item = GetEnumItems(enumType).Find(p => p.Value == enumValue);

            if (item == null)
            {
                return("未知");
            }
            return((item == null) ? enumValue.ToString() : item.Description);
        }
Exemplo n.º 2
0
        public static List <EnumItem> GetEnumItems(Type type, int flag, int value)
        {
            FieldInfo[]     fields = type.GetFields();
            List <EnumItem> list   = new List <EnumItem>(fields.Length);

            foreach (FieldInfo info in fields)
            {
                if ((info.FieldType == type) && CompareItem(info, flag, value))
                {
                    EnumItem item = new EnumItem {
                        Name        = info.Name,
                        Value       = Convert.ToInt32(info.GetRawConstantValue()),
                        Description = GetFieldDesc(info)
                    };
                    list.Add(item);
                }
            }
            return(list);
        }