Example #1
0
        /// <summary>
        /// 获取枚举类型的描述
        /// </summary>
        /// <param name="enumObj"></param>
        /// <returns></returns>
        public static string GetDescription(object enumObj)
        {
            Type enumType = enumObj.GetType();

            if (!enumType.IsEnum)
            {
                throw new Exception("参数不是枚举类型!");
            }
            FieldInfo fieldInfo = enumType.GetField(enumObj.ToString());

            object[] attribArray = fieldInfo.GetCustomAttributes(false);
            if (attribArray.Length == 0)
            {
                return(null);
            }
            EnumDescriptionAttribute attrib = attribArray[0] as EnumDescriptionAttribute;

            return(attrib.Description);
        }
Example #2
0
        /// <summary>
        /// 获取枚举类型的所有描述
        /// </summary>
        /// <param name="enumType"></param>
        /// <returns></returns>
        public static string[] GetDescriptions(Type enumType)
        {
            if (!enumType.IsEnum)
            {
                throw new Exception("参数不是枚举类型!");
            }
            FieldInfo[]   fieldInfos = enumType.GetFields();
            List <string> deslist    = new List <string>();

            foreach (FieldInfo fieldInfo in fieldInfos)
            {
                object[] attribArray = fieldInfo.GetCustomAttributes(false);
                if (attribArray.Length == 0)
                {
                    continue;
                }
                EnumDescriptionAttribute attrib = attribArray[0] as EnumDescriptionAttribute;
                deslist.Add(attrib.Description);
            }
            return(deslist.ToArray());
        }