20180425Advanced11Course2Reflection(反射-语言进阶)
反射:dll——IL——metadata——反射。.net框架提供的帮助类库,可以读取并使用metadata。
反射优点:动态;可配置可扩展。面向对象是静态的,这样程序就没办法扩展。
反射缺点:(1)写起来复杂;(2)避开编译器的检查;(3)性能问题
一、获取信息
二、使用信息
疑问:Test类不存在,如何转换?
1、应用
用反射创建的实例,可配置可扩展。 反射是动态的,依赖的是字符串。IOC就是这样实现的
2、带参数的构造函数
3、私有参数的构造函数
反射会破坏单例。
dll加壳、去壳
4、Reflection+Method
有参数的构造函数
Reflection+Method的应用:MVC URL地址——类名称+方法名称。
反射调用私有方法
5、Reflection+Property