反射通常具有以下用途:
· 使用 Assembly定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。
· 使用 Module了解如下的类似信息:包含模块的程序集以及模块中的类等。您还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。
· 使用 ConstructorInfo方法来调用特定的构造函数。
· 使用 EventInfo来了解如下的类似信息:事件的名称、事件处理程序数据类型、自定义属性、声明类型和反射类型等;并添加或移除事件处理程序。
· 使用 PropertyInfo来了解如下的类似信息:属性的名称、数据类型、声明类型、反射类型和只读或可写状态等;并获取或设置属性值。
· 使用 ParameterInfo来了解如下的类似信息:参数的名称、数据类型、参数是输入参数还是输出参数,以及参数在方法签名中的位置等。
· 当您在一个应用程序域的仅反射上下文中工作时,请使用 CustomAttributeData,您不必创建属性的实例就可以检查它们。