zoukankan      html  css  js  c++  java
  • 反射获取属性DisplayName特性名字以及属性值

     /// <summary>
            /// 反射获取所有DisplayName标记值
            /// </summary>
            /// <typeparam name="T">实体类型</typeparam>
            /// <param name="model">需要获取的实体</param>
            /// <returns></returns>
            List<string> GetDisplayName<T>(T model)
            {
                //获取所有属性
                PropertyInfo[] properties = model.GetType().GetProperties();
    
                var list = new List<string>();
                foreach (var item in properties)
                {
                    var attrs = item.GetCustomAttributes(typeof(DisplayNameAttribute), true);
                    if (attrs != null)
                    {
                        var displayName = ((DisplayNameAttribute)attrs[0]).DisplayName;
                        list.Add(displayName);
                    }
                }
                return list;
            }
    
            /// <summary>
            /// 反射获取属性值
            /// </summary>
            /// <typeparam name="T">实体类型</typeparam>
            /// <param name="modelList">需要获取value的实体集合</param>
            /// <returns></returns>
            List<string> GetValue<T>(T modelList)
            {
                var list = new List<string>();
                var type = modelList.GetType();
                var properties = type.GetProperties();
                foreach (var item in properties)
                {
                    var pName = item.Name;
                    PropertyInfo propertyInfo = type.GetProperty(pName);
                    var value = propertyInfo.GetValue(modelList)?.ToString();
                    list.Add(value);
                }
                return list;
            }
  • 相关阅读:
    final 和 static
    EL表达式
    strusts2request,session取得
    Double的精度问题
    隐藏软件盘(个人因为好用的方法)
    ListView没有分割线怎么办?
    自定义ActionBar完全覆盖系统的
    保存图片的工具类
    Intent传递list<bean>集合
    Android取得图库图片的具体地址
  • 原文地址:https://www.cnblogs.com/heheblog/p/10469544.html
Copyright © 2011-2022 走看看