using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
namespace Ant.Service.Utility
{
public class EnumPlus
{
///
/// 获取枚举的描述信息
///
/// 枚举值
/// 描述信息
public static string GetEnumDesc(Enum e)
{
var enumInfo = e.GetType().GetField(e.ToString());
var enumAttributes = (DescriptionAttribute[])enumInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
return enumAttributes.Length > 0 ? enumAttributes[0].Description : e.ToString();
}//end method
///
/// 重载将含有描述信息的枚举绑定到列表控件中的方法
///
/// 待绑定控件
/// 枚举类型申明
public static List DesEnumToList(Type enumType)
{
List enumlist = new List();
foreach (object enumValue in Enum.GetValues(enumType))
{
if (enumValue != null)
{
EnumModel mod = new EnumModel();
mod.Desc = GetEnumDesc((Enum)enumValue);
mod.Name = enumValue.ToString();
mod.Value = enumValue.ToInt32();
enumlist.Add(mod);
}
}
return enumlist;
}//end method
}
public class EnumModel
{
///
/// 枚举名称
///
public string Name { get; set; }
///
/// 枚举的值
///
public int Value { get; set; }
///
/// 枚举的备注
///
public string Desc { get; set; }
}
}