示例#1
0
        /// <summary>
        /// 将枚举类型转换为List
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public static IEnumerable <EnumResponse> TryToList(this Type type)
        {
            var result = new List <EnumResponse>();

            foreach (var item in Enum.GetValues(type))
            {
                var response = new EnumResponse
                {
                    Key   = item.ToString(),
                    Value = Convert.ToInt32(item)
                };
                var objArray = item.GetType().GetField(item.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true);
                if (objArray.Any())
                {
                    response.Description = (objArray.First() as DescriptionAttribute).Description;
                }
                result.Add(response);
            }
            return(result);
        }
示例#2
0
文件: Extensions.cs 项目: roc1/Blog
        /// <summary>
        /// 将 Enum 转换为 List
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public static IList <EnumResponse> EnumToList <T>() where T : Enum
        {
            var result = new List <EnumResponse>();

            foreach (var item in Enum.GetValues(typeof(T)))
            {
                var dto = new EnumResponse
                {
                    Key   = item.ToString(),
                    Value = Convert.ToInt32(item)
                };

                var objArray = item.GetType().GetField(item.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true);
                if (objArray.Any())
                {
                    dto.Description = (objArray.First() as DescriptionAttribute).Description;
                }

                result.Add(dto);
            }

            return(result);
        }
示例#3
0
 public EnumBusiness(EnumResponse enumResponse, ILogger <EnumBusiness> logger)
 {
     _enumResponse = enumResponse;
     _logger       = logger;
 }