/// <summary>
/// 流程状态
/// </summary>
public enum TaskStateEnum
{
[DescriptionAttribute("正常")]
normal =1,
[DescriptionAttribute("暂停")]
pause =2,
[DescriptionAttribute("已删除")]
del =3
}
/// <summary>
/// 获取枚举描述
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public static string GetDescription(this Enum val)
{
var field = val.GetType().GetField(val.ToString());
var customAttribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute));
if (customAttribute == null) { return val.ToString(); }
else { return ((DescriptionAttribute)customAttribute).Description; }
}
public static Dictionary<int,string> GetEnumList()
{
Dictionary<int, string> dicEnums = new Dictionary<int, string>();
FieldInfo[] fields = typeof(TaskStateEnum).GetFields();
if (fields == null || !fields.Any()) return null;
for (int i = 1; i < fields.Count(); i++)
{
var name = fields[i].Name;
int _itemCode = (int)Enum.Parse(typeof(TaskStateEnum), name);
Enum itemEnum = (Enum)Enum.Parse(typeof(TaskStateEnum), name);
string _itemName =GetDescription(itemEnum);
if (!dicEnums.ContainsKey(_itemCode))
dicEnums.Add(_itemCode,_itemName);
}
return dicEnums;
}
![]()