反射与线程编程:原理、应用与实践
1. 反射与后期绑定
反射允许在运行时绑定方法,提供了在运行时选择绑定对象并以编程方式调用的灵活性。以调用 System.Math
类的 Cos()
方法为例,详细介绍反射的使用。
1.1 获取类型信息
首先,需要获取 System.Math
类的类型信息:
Type theMathType = Type.GetType("System.Math");
1.2 创建对象实例
使用 Activator
类的静态方法动态加载类的实例。由于 Cos()
是静态方法,无需创建 System.Math
的实例( System.Math
没有公共构造函数)。 Activator
类有四个静态方法:
| 方法 | 描述 |
| ---- | ---- |
| CreateComInstanceFrom
| 创建 COM 对象的实例 |
| CreateInstanceFrom
| 根据特定程序集和类型名称创建对象的引用 |
| GetObject
| 用于封送对象 |
| CreateInstance