当前位置: 移动技术网 > IT编程>开发语言>.net > 反射获取属性DisplayName特性名字以及属性值

反射获取属性DisplayName特性名字以及属性值

2019年03月05日  | 移动技术网IT编程  | 我要评论

热河网,vcp08,小曼的幸福生活

 /// <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;
        }

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网