System.Reflection
是.NET框架中的一个重要命名空间,它提供了在运行时检查类型、获取类型信息以及创建类型的实例等功能。以下是一些System.Reflection
中常用的类和方法:
常用类
- Type:表示一个类型,可以用来获取类型的元数据信息,如名称、基类、接口、构造函数、方法、字段等。
- MemberInfo:这是一个基类,表示程序集中的成员,如类型、方法、字段、属性等。
Type
类就是继承自MemberInfo
的。
- FieldInfo:表示一个字段,可以用来获取或设置字段的值,以及获取字段的其他元数据信息。
- MethodInfo:表示一个方法,可以用来获取方法的参数、返回值、修饰符等信息,以及调用该方法。
- PropertyInfo:表示一个属性,可以用来获取或设置属性的值,以及获取属性的其他元数据信息。
- EventInfo:表示一个事件,可以用来订阅或取消订阅事件处理器。
- ConstructorInfo:表示一个构造函数,可以用来创建类型的实例。
- ParameterInfo:表示一个方法参数,可以用来获取参数的名称、类型等信息。
常用方法
- Type.GetTypes():获取当前类型的所有类型定义。
- Type.GetMethods():获取当前类型的所有公共实例方法(包括继承的方法)。
- Type.GetFields():获取当前类型的所有公共字段。
- Type.GetProperties():获取当前类型的所有公共属性。
- Type.GetEvent():获取当前类型的事件。
- Type.GetConstructor():获取当前类型的指定参数类型的构造函数。
- Type.GetField():获取当前类型的指定名称的字段。
- Type.GetProperty():获取当前类型的指定名称的属性。
- Type.GetEventInfo():获取当前类型的事件信息。
- Type.GetConstructorInfo():获取当前类型的构造函数信息。
- Type.GetParameterInfo():获取当前类型的方法的参数信息。
- MemberInfo.Name:获取成员的名称。
- FieldInfo.GetValue():获取字段的值。
- FieldInfo.SetValue():设置字段的值。
- MethodInfo.Invoke():调用方法。
- PropertyInfo.GetValue():获取属性的值。
- PropertyInfo.SetValue():设置属性的值。
- EventInfo.AddEventHandler():订阅事件。
- EventInfo.RemoveEventHandler():取消订阅事件。
以上只是System.Reflection
中常用的一部分类和方法,实际上这个命名空间提供了非常丰富的功能,可以用来在运行时动态地获取和处理类型信息。