.Net由浅入深说反射
概述
什么是反射
反射是.Net平台的重要机制,通过反射允许开发者在编写代码时,通过使用Type类型或dynamic关键字使编译器跳过类型检查,而是在程序执行期阶段获得程序或程序集中某个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。这就是慢绑定或后绑定。
反射的优缺点
优点: 这样做的好处是使代码结构更加松散,降低耦合性,提高自适应能力。它允许程序创建和控制任何类的对象,无需提前硬编码。
缺点:
1、性能问题:反射相当于将部分编译器的工作交给解释器做,因此运行性能比直接代码要慢。
2、使用反射容易出错:因为忽略了类型检查工作,程序员需要对要调用的类非常了解,否则很容易在运行期出错。
反射实现
.Net平台提供两种反射的实现方式,Type类型和从.Net 4.0引入的Dynamic关键字。
Type类型
首先通过声明Type对象加载被调用类,然后通过Type对象获取被调用类的成员和方法。
声明Type对象的三种方法
1.typeof()操作符
Type d=typeof(double);
- Object类的自带方法GetType(). System.Object.GetType()
double d=10;
Type d=d.GetType