zoukankan      html  css  js  c++  java
  • C#获取枚举的Description描述信息

      1 定义枚举:  

    public enum Pepole        

    {            

      [Description("男孩")]            

      boy=1,            

      [Description("女孩")]            

      girl=2,           

       man=3        

    }   

    2 泛型方法:获取枚举的说明信息

     public static Dictionary<string, string> GetEnumDescription<T>()        

    {            

      Dictionary<string, string> dic = new Dictionary<string, string>();            

      FieldInfo[] fields =typeof(T).GetFields();            

      foreach (FieldInfo field in fields)            

      {                

        if (field.FieldType.IsEnum)                

        {                    

          object[] attr=field.GetCustomAttributes(typeof(DescriptionAttribute), false);                    

          string description = attr.Length == 0 ? field.Name : ((DescriptionAttribute)attr[0]).Description;                    

          dic.Add(field.Name, description);                

        }            

      }           

        return dic;        

    }  

     /// <summary>        

    /// 获取对应的枚举描述(中文)        

    /// </summary>        

    public static List<KeyValuePair<string, string>> GetEnumDescriptionList<T>()        

    {            

      List<KeyValuePair<string, string>> result = new List<KeyValuePair<string, string>>();            

      FieldInfo[] fields = typeof(T).GetFields();            

      foreach (FieldInfo field in fields)            

      {                

        if (field.FieldType.IsEnum)                

        {                    

          object[] attr = field.GetCustomAttributes(typeof(DescriptionAttribute), false);                    

          string description = attr.Length == 0 ? field.Name : ((DescriptionAttribute)attr[0]).Description;                    

          result.Add(new KeyValuePair<string,string>(field.Name, description));                

        }            

      }            

      return result;   

    }

     3 使用方法:      

    Dictionary<string, string> dic =  GetEnumDescription<People>();

  • 相关阅读:
    Java SE——线程介绍
    Vue
    Spring asm
    spring 自定义标签的实现
    Spring InitializingBean 接口以及Aware接口实现的原理
    值传递与引用传递
    redis学习
    ssm多数据源配置
    redis 启动
    json的设置
  • 原文地址:https://www.cnblogs.com/stevemin/p/3539310.html
Copyright © 2011-2022 走看看