路还很远,虽然望不到边,但至少一步一个脚印
目录
1.什么是反射?
是指程序访问,检测和修改它本身状态的一种机制,还可以动态创建实例并执行其中的方法。
2.发射的用途:
类 型 | 作用 |
---|---|
Assembly | 定义和加载程序集,加载程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。 |
Module | 了解包含模块的程序集以及模块中的类等,还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。 |
ConstructorInfo | 了解构造器的名称,参数,访问修饰符(如public或private)和实现详细信息(如abstract或virtual)等。使用Type的GetConstructors或GetConstructor方法来调用特定的构造函数。 |
MethodInfo | 了解方法的名称,返回类型,参数,访问修饰符(如public或private)和实现详细信息(如abstract或virtual)等。使用type的GetMethods或GetMethod方法来调用特定的方法。 |
FieldInfo | 了解字段的名称,方法修饰符(如public或private)和实现详细信息(如static)等,并获取或设置字段值。 |
EventInfo | 了解事件的名称,事件处理程序数据类型,自定义特性,声明类型或反射类型等,并添加或移除事件处理程序。 |
PropertyInfo | 了解属性的名称,数据类型,声明类型,反射类型和只读或可写状态等,并获取或设置属性值。 |
ParameterInfo | 了解参数的名称,数据类型,参数是输入参数还是输出参数等,以及参数在方法签名中的位置等。 |
3.反射的用法实例:
——1.获取程序集信息和类型信息。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Reflection;
using System;
public class SelectReflectionDemo