C#Reflection学习记录
反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。 反射的作用: 1、可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型 2、应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射。 3、反射主要应用与类库,这些类库需要知道一个类型的定义,以便提供更多的功能。 应用要点: 1、现实应用程序中很少有应用程序需要使用反射类型 2、使用反射动态绑定需要牺牲性能 3、有些元数据信息是不能通过反射获取的 4、某些反射类型是专门为那些clr 开发编译器的开发使用的,所以你要意识到不是所有的反射类型都是适合每个人的。 应用实例: 在实际开发中,我们经常需要从数据库中读取数据并赋值给实体类的相应属性。 比如: 一般的做法 public Role[] GetRoles(int BlogID) { System.Collections.ArrayList al=new System.Collections.ArrayList(); IDataReader reader=DbProvider.Instance().GetRoles(BlogID); try { while(reader.Read()) {