C#实现获取枚举的描述

来源:互联网 发布:红蜘蛛教学软件破解 编辑:程序博客网 时间:2024/06/06 00:42

一个通用获取枚举的描述的方法

/// <summary>        /// 获取枚举的描述        /// </summary>        /// <param name="en">枚举</param>        /// <returns>返回枚举的描述</returns>        public static string GetDescription(Enum en)        {            Type type = en.GetType();   //获取类型            MemberInfo[] memberInfos = type.GetMember(en.ToString());   //获取成员            if (memberInfos!=null&&memberInfos.Length>0)            {                DescriptionAttribute[] attrs = memberInfos[0].GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];   //获取描述特性                if (attrs!=null&&attrs.Length>0)                {                    return attrs[0].Description;    //返回当前描述                }            }            return en.ToString();        }

示例:

/// <summary>    /// 上传状态    /// </summary>    public enum UploadState    {        [Description("上传失败")]        UploadFailed = -1,        [Description("正在上传")]        Uploading = 0,        [Description("上传成功")]        UploadSuccess = 1    }

调用代码:

EnumService.GetDescription(UploadState.UploadSuccess)


0 0
原创粉丝点击