定义:反射指的是在运行时动态地获取、检查和操作程序中的类型信息,而在我们的Unity中反射允许开发者在运行时通过代码来访问和修改对象的属性、方法和字段,而不需要提前知道这些成员的具体信息。
举一个例子,我们使用反射在运行的时候给指定物体添加脚本
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Reflection;
- using UnityEngine;
-
- public class ReflectClassName : MonoBehaviour
- {
- private void Start()
- {
- //加载当前程序集
- Assembly asmb = System.Reflection.Assembly.Load(Assembly.GetExecutingAssembly().GetName());
-
- //获取程序集里面的 TestReflect类
- Type t = asmb.GetType("TestReflect");
- gameObject.AddComponent(t);
- }
- }
从上面的脚本我们可以看出,使用反射的步骤主要是三步:
1:加载程序集
2:获取程序集内需要反射的类
3:执行具体操作
如图:
