获取枚举类型Description特性的描述信息

   C#中可以对枚举类型用Description特性描述。

   如果需要对Description信息获取,那么可以定义一个扩展方法来实现。代码如下:

    public static class EnumExtensions
    {
        public static string GetDescription(this object value)
        {
            if (value==null)
                return string.Empty;

            Type type = value.GetType();
            var fieldInfo = type.GetField(Enum.GetName(type, value));
            if(fieldInfo!=null)
            {
                if(Attribute.IsDefined(fieldInfo,typeof(DescriptionAttribute)))
                {
                    var description =
                        Attribute.GetCustomAttribute(fieldInfo, typeof (DescriptionAttribute)) as DescriptionAttribute;

                    if(description!=null)
                        return description.Description;
                }
            }
            return string.Empty;
        }
    }

 

posted @ 2016-06-18 23:09  蒹葭白露  阅读(764)  评论(0编辑  收藏  举报