已知一个泛型或者一个类,但是不清楚这个泛型或者类中的具体属性时,就可以用反射来获取。
Type type=typeof(泛型、类);
Type type=实例对象.GetType();
通过反射可以获取的内容
- MemberInfo : 成员
- ConstructorInfo : 结构
- FieldInfo : 类型信息字段
- MethodInfo :提交字段
- PropertyInfo : 属性
- EventInfo : 事件
获取各种信息的方法
- 获取类型:Type[] typeList=assembly.GetTypes();
- 获取类型的结构信息:ConstructorInfo[] constructs=type.GetConstructors();
- 获取类型的字段信息:FieldInfo[] fields=type.GetFields();
- 获取方法信息:MethodInfo[] methods=type.GetMethods();
- 获取方法的参数信息:ParameterInfo[] parameters=method.GetParameters();
- 获取方法的返回值信息:ParameterInfo reparam=method.ReturnParameter;
- 获取属性的信息:peopertys=type.GetProperties();
- 获取事件信息:EventInfo[] events=type.GetEvents();