using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace wispro.sp.utility
{
public class EmunHelper
{
/////
///// 根据枚举的值获取枚举名称
/////
///// 枚举类型
///// 枚举的值
/////
//public static string GetEnumName(this int status)
//{
// return Enum.GetName(typeof(T), status);
//}
///
/// 获取枚举名称集合
///
///
///
public static string[] GetNamesArr()
{
return Enum.GetNames(typeof(T));
}
///
/// 将枚举转换成描述字典集合
///
/// 枚举类型
///
public static Dictionary getEnumDescriptionDic()
{
Dictionary resultList = new Dictionary();
Type type = typeof(T);
var strList = GetNamesArr().ToList();
foreach (string key in strList)
{
var obj = (T)Enum.Parse(type, key);
FieldInfo field= obj.GetType().GetField(obj.ToString());
DescriptionAttribute att = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute), false) as DescriptionAttribute;
if (att == null)
{
resultList.Add(key, obj);
}
else
{
resultList.Add(att.Description, obj);
}
}
return resultList;
}
///
/// 将枚举转换成字典
///
///
///
public static Dictionary GetDic()
{
Dictionary dic = new Dictionary();
Type t = typeof(TEnum);
var arr = Enum.GetValues(t);
foreach (var item in arr)
{
dic.Add(item.ToString(), (int)item);
}
return dic;
}
}
}