通过反射取泛型的项目名称和值

private void GetInfo<T>(T info)
        {
            Type t = info.GetType();
            System.Reflection.PropertyInfo[] list = t.GetProperties();
            // --- 获取项目名称
            List<string> nameList = new List<string>();
            List<object> valueList = new List<object>();
            foreach (var pro in list)
            {
                nameList.Add(pro.Name);  //项目名称
                valueList.Add(pro.GetValue(info, null));  // 项目值
            }
        }

以上代码可以取到数据的值和名称,具体使用时候 自己修改代码!

时间: 2024-08-03 23:34:49

通过反射取泛型的项目名称和值的相关文章

.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

java 反射 子类泛型的class

很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解.关键的地方是HibernateBaseDao的构造方法中的 [java] view plaincopy Type genType = getClass().getGenericSuperclass(); Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); entityClass =  (Class)params[0]

利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理

利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理 2018-3-10 15:18 | 发布:Admin | 分类:代码库 | 评论:0 | 浏览:45 | 该类在MVC中可以方便管理配置信息,可以直接把Model储存进数据库或者从数据库去除数据转为Model. 1 何为配置项目? 比如网站的名称,页脚信息,meta中的KeyWord信息等,如果不想硬编码到网页里,就需要使用配置文件进行储存,通常都是储存到数据库中.使用的时候读取出来

java 反射和泛型

反射 在计算机科学中,反射是指计算机程序在运行时(Run time)可以访问.检测和修改它本身状态或行为的一种能力.[1]用比喻来说,反射就是程序在运行的时候能够"观察"并且修改自己的行为. 要注意术语"反射"和"内省"(type introspection)的关系.内省(或称"自省")机制仅指程序在运行时对自身信息(称为元数据)的检测:反射机制不仅包括要能在运行时对程序自身信息进行检测,还要求程序能进一步根据这些信息改变程序

DataTable转任意类型对象List数组-----工具通用类(利用反射和泛型)

public class ConvertHelper<T> where T : new() { /// <summary> /// 利用反射和泛型 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static List<T> ConvertToList(DataTable dt) { //

利用反射,泛型,静态方法快速获取表单值到Model

在项目中经常需要处理表单,给model赋值,很烦人的一些重复代码.如下边的代码: News news = new News(); news.Id = int.Parse(Request.Form["Id"]); news.Category = int.Parse(Request.Form["Category"]); news.Title = Request.Form["Title"]; news.CreateTime = DateTime.Par

java反射+java泛型,封装BaseDaoUtil类。供应多个不同Dao使用

当项目是ssh框架时,每一个Action会对应一个Service和一个Dao.但是所有的Ation对应的Dao中的方法是相同的,只是要查的表不一样.由于封装的思想,为了提高代码的重用性.可以使用java中的泛型+反射去实现最终的封装,将所有的Dao层的共同部分写一个BaseDaoUtil.而所有的Dao都继承这个类. 思路: ----->(1)反射+泛型 ----->(2)当生成子类对象(UserDao),调用空构造时(new UserDao()),子类的空构造会默认调用父类的空构造器(new

使用反射为泛型集合添加其他类型的数据时遇到的问题

泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明的集合进会去掉“类型”信息,使程序运行效率不受影响. 由于编译生成的字节码会去掉泛型的类型信息,只要能跳过编译器,就可以往某个泛型集合虽加入其它类型的数据. 所以我们可以用反射为泛型集合添加其他类型的数据. 例1: ArrayList<Integer> arrayList = new ArrayList<Integer>(); arrayList .add(10); a

项目名称——拼一拼

项目名称--拼一拼 队长链接:郑西坤 1.产品设计背景 随着互联网的不断发展.信息时代的来临,人们的出行.购物.学习的方式不仅发生了变化,并且还渐渐趋向大众需求.比如购物方面,淘宝是大众手机中必不可少的软件,但渐渐发展下去,就出现了聚划算等APP,以团购降价的方式,让大众从中得到优惠.而出行方面,有了打车软件之后,更是出现了滴滴打车这样包含拼车的软件,选择拼车可以使打车价格降低,亦是让大众受惠的软件.但这样的软件都只是针对生活中的某一项,且此类软件一般无法对拼单.拼车的对象进行沟通.于是,我们的