枚举反射属性信息
/// 结构体
public enum LectureState
{
/// <summary>
/// 新申请
/// </summary>
[EnumDescription("新申请")]
NewApplication=0,
/// <summary>
/// 申请通过
/// </summary>
[EnumDescription("申请通过")]
AuditBy=1,
/// <summary>
/// 申请拒绝
/// </summary>
[EnumDescription("申请拒绝")]
Auditfailure=-1,
};
public class EnumDescriptionAttribute : Attribute //Enum 的 Description
{
private string _Description;
public EnumDescriptionAttribute(string strDescription)
{
_Description = strDescription;
}
public string Description
{
get { return _Description; }
}
}
/// 获得 Enum 的 Description
public struct EnumHelper
{
public static string GetDescription(Enum en)
{
System.Reflection.FieldInfo fi = en.GetType().GetField(en.ToString());
object[] attrs = fi.GetCustomAttributes(false);
if (null == attrs)
{
return String.Empty;
}
else
{
EnumDescriptionAttribute edh = attrs[0] as EnumDescriptionAttribute;
return edh.Description;
}
}
}