定义:反射指的是在运行时动态地获取、检查和操作程序中的类型信息,而在我们的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:执行具体操作
如图:
引用自:Untiy 反射(Reflect)详解_unity反射添加脚本-CSDN博客