1.反射加载dll、读取moudle、类、方法、特性
(1)模块信息获取
(2)方法调用
2.反射创建对象、反射+简单工厂+配置文件(破坏单例,创建泛型)
(1)程序的可配置可扩展:反射是动态的依赖的是字符串
调用
(2)利用反射破环单例,可访问单例中的私有构造方法
调用有参构造函数
(3)利用反射创建泛型
GenericClass`3,其中“`3”是占位符,表示三个类型
3.反射调用实例方法、静态方法(调用私有方法、调用泛型方法)
(1)实例方法、静态方法
多参数
(2)反射调用私有方法,属性值BindingFlags.Instance;BindingFlags.NoPublic
(3)反射调用泛型方法
(4).反射字段和属性。分别获取值和设置值
属性使用type.GetProperties(),而字段则使用type.GetFields(),如
(5)反射模型转换
5.反射的好处和局限
(1)优点:动态,灵活性强
(2)缺点:写起来复杂;避开编译器得检查;性能问题;