獲取枚舉類型Description特性的描述信息

   C#中能夠對枚舉類型用Description特性描述。this

   若是須要對Description信息獲取,那麼能夠定義一個擴展方法來實現。代碼以下:spa

    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;
        }
    }
相關文章
相關標籤/搜索