枚举反射属性信息

/// 结构体
        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;
            }
        }
    }




posted on 2012-02-20 11:04  多个马甲  阅读(214)  评论(0编辑  收藏  举报