获取枚举值上的Description特性说明



/// <summary>
/// 获取枚举值上的Description特性说明
/// </summary>
/// <typeparam name="T">枚举类型</typeparam>
/// <param name="obj">枚举值</param>
/// <returns></returns>
public static string GetDescription<T>(T obj)
{
    Type type = obj.GetType();
    FieldInfo field = type.GetField(Enum.GetName(type, obj));
    DescriptionAttribute desc = Attribute.GetCustomAttribute
    (field, typeof(DescriptionAttribute)) as DescriptionAttribute;
    if(desc == null)
    {
        return string.Empty;
    }

    return desc.Description;
}

 
时间: 2024-08-06 07:55:30

获取枚举值上的Description特性说明的相关文章

C# .NET 获取枚举值的自定义属性

一.定义一个类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; namespace XXX.XXX.Utils { /// <summary> /// 备注特性 /// </summary> public class DescAttribute : A

C#记录日志、获取枚举值 等通用函数列表

using System;using System.Collections;using System.Collections.Generic;using System.ComponentModel;using System.Linq; namespace System.Web.Mvc{    #region 通用函数    /// <summary>    /// 通用函数    /// </summary>    public class Common    {        #

C#枚举扩展方法,获取枚举值的描述值以及获取一个枚举类下面所有的元素

/// <summary> /// 枚举扩展方法 /// </summary> public static class EnumExtension { private static Dictionary<string, Dictionary<string, string>> _enumCache; /// <summary> /// 缓存 /// </summary> private static Dictionary<stri

获取枚举值

1-枚举页面: using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Text; namespace KDSoft.KDMAPS.Domain.Enum{ /// <summary> /// 人大建议状态 /// </summary> public enum SuggestionStatus { /// <summary&

获取枚举类型的描述description

using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace candel { class Program { static void Main(string[] args) { int x = (in

.NET(C#):使用反射来获取枚举的名称、值和特性

首先需要从内部了解一下枚举(Enumeration),相信许多人已经知道了,当我们声明一个这样的枚举类型: enum MyEnum { AAA, BBB, CCC } 背后的IL是这样的: .class private auto ansi sealed MyEnum extends [mscorlib]System.Enum { .field public static literal valuetype Mgen.MyEnum AAA = int32(0) .field public stat

C# 获取枚举的 键名称,值 和描述 遍历枚举

C# Enum  枚举的操作.  键名称,值 和描述  和 遍历枚举 /// <summary> /// 促销 /// </summary> public enum cxsd { [Description("推荐")] tj = 2, [Description("置顶")] zd = 4, [Description("热卖")] rm = 8 } //获取 枚举 值 Array rolearry = Enum.GetVal

获取枚举类型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 = ty

获取枚举Description 属性

/// <summary> /// 获取枚举变量值的 Description 属性 /// </summary> /// <param name="obj">枚举变量</param> /// <returns>如果包含 Description 属性,则返回 Description 属性的值,否则返回枚举变量值的名称</returns> public static string GetDescription(this