C#进阶——反射(Reflection)

news2024/11/24 4:26:07

定义:反射指的是在运行时动态地获取、检查和操作程序中的类型信息,而在我们的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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1101635.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux下的rsync(文件同步) 用法教程

一、简介 rsync 是一个常用的 Linux 应用程序,用于文件同步。 它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代cp和mv命令。 …

ERP系统是如何运作的?erp管理系统操作流程

ERP系统是如何运作的?ERP系统的运作流程是怎样的? 以简道云ERP管理系统为例: 各行各业适配的ERP系统​>>>>https://www.jiandaoyun.com 可以看到上面那个流程图,一般来说,我们把ERP系统可以分为4个大的模…

极光笔记 | 发送功能使用技巧分享

在全球化竞争激烈的商业环境中,高效的消息通知解决方案是企业成功的关键。EngageLab作为一家专注于海外市场的消息服务平台,为全球企业提供了一体化的消息通知解决方案。其中,EngageLab的国际邮件发送是其强大而灵活的产品服务之一。本文将与…

一文了解如何获取GPT4账号及AI绘图应用

GPT对于每个科研人员已经成为不可或缺的辅助工具,不同的研究领域和项目具有不同的需求。例如在科研编程、绘图领域: 1、编程建议和示例代码: 无论你使用的编程语言是Python、R、MATLAB还是其他语言,都可以为你提供相关的代码示例。 2、数据可…

生态艺术共创助力长江旗舰物种保护

为助力青少年获得长江旗舰物种科普支持,近日,传益千里组织100余位志愿者在重庆市渝中区大坪大融城开展“我为长江画条鱼”主题公益活动,以实际行动传播长江旗舰保护物种。 本次活动由大坪大融城主办,阿拉善SEE重庆项目中心指导&am…

死磕AI原生应用,李彦宏重新定义大模型

“没有构建于基础模型之上的丰富的AI原生应用,基础模型就没有任何价值。”、“未来将由我们一起生成。”。10月17日,在一年一度的2023年百度世界大会上创始人、董事长兼首席执行官李彦宏重新定义了大模型的未来——“我们都将进入AI原生的时代&#xff0…

【Machine Learning】01-Supervised learning

01-Supervised learning 1. 机器学习入门1.1 What is Machine Learning?1.2 Supervised learning1.3 Unsupervised learning 2. Supervised learning2.1 单元线性回归模型2.1.1 Linear Regression Model(线性回归模型)2.1.2 Cost Function(代…

Spring(18) @Order注解介绍、使用、底层原理

目录 一、简介二、List 注入使用示例2.1 测试接口类2.2 测试接口实现类12.3 测试接口实现类22.4 启动类(测试)2.5 测试结果场景一:场景二: 三、CommandLineRunner 使用示例3.1 接口实现类13.2 接口实现类23.3 测试结果场景一&…

css 双栏布局 左侧宽度自适应 右侧自适应

如标题所述&#xff0c;为了实现左侧宽度自适应&#xff0c;右侧使用剩余空间。 第一种方案&#xff1a;使用table实现 <table classNamewrap><tbody><tr><td className"left1">leftleft</td><td className"right1">…

竞赛 深度学习YOLO安检管制物品识别与检测 - python opencv

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络4 Yolov55 模型训练6 实现效果7 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习YOLO安检管制误判识别与检测 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&…

排序算法可视化

前言 这两天在B站上刷到一个视频&#xff0c;用python把各种排序动画可视化显示了出来觉得还蛮好玩的&#xff0c;当即就决定用Flutter写一个玩玩&#xff0c;顺便复习一下排序算法&#xff0c;话不多说&#xff0c;进入正文~ 效果图&#xff1a; 该效果图为鸡尾酒排序(双向冒…

【Machine Learning】03-Unsupervised learning

03-Unsupervised learning 3. Unsupervised Learning3.1 无监督学习&#xff08;Unsupervised Learning&#xff09;3.1.1 聚类&#xff08;Clustering&#xff09;3.1.2 K-均值聚类算法&#xff08;K-means Clustering&#xff09;3.1.3 高斯分布&#xff08;Gaussian distrib…

当然是做药物研发啦~~~

做药物研发 梦开始的地方 当年上本科的时候&#xff0c;我的第一台笔记本有点子差&#xff0c;根本跑不了分子动力学&#xff0c;而且还需要我这个菜鸡自己在win系统的本子上安装Linux的双系统&#xff0c;频繁的重启、安装双系统搞得我心力憔悴&#xff0c;于是我决定使用”钞…

使用navicat查看类型颜色

问题描述&#xff1a; 最近遇到一个mongodb的数据问题。 在date日期数据中&#xff0c;混入了string类型的数据&#xff0c;导致查询视图报错&#xff1a; $add only supports numeric or date types解决办法&#xff1a; 使用类型颜色工具。 找到在last_modified_date字段中…

springBoot复杂对象表示和lombok的使用

springBoot复杂对象表示 前言简单案例lombok的使用通过properties文件进行绑定在yaml文件中使用 前言 对象&#xff1a;键值对的集合&#xff0c;如&#xff1a;映射&#xff08;map)/哈希&#xff08;hash)/字典&#xff08;dictionary&#xff09; 数组&#xff1a;一组按次…

亚马逊测评关于IP和DNS的问题

最近不少人询问了关于IP和DNS的问题&#xff0c;在此进行一些科普。 当客户端试图访问一个网站时&#xff0c;首先会向其所在的ISP的DNS服务器进行查询。如果ISP的DNS服务器没有相关缓存&#xff0c;则会向上级DNS服务器进行查询。 一些诸如CDN之类的服务&#xff0c;可能会为…

【C/C++】STL——容器适配器:stack和queue的使用及模拟实现

​&#x1f47b;内容专栏&#xff1a; C/C编程 &#x1f428;本文概括&#xff1a;stack与queue的介绍与使用、模拟实现。 &#x1f43c;本文作者&#xff1a; 阿四啊 &#x1f438;发布时间&#xff1a;2023.10.17 一、stack的介绍与使用 1.1 stack的介绍 以下是stack的文档…

E044-服务漏洞利用及加固-利用redis未授权访问漏洞进行提权

任务实施: E044-服务漏洞利用及加固-利用redis未授权访问漏洞进行提权 任务环境说明&#xff1a; 服务器场景&#xff1a;p9_kali-6&#xff08;用户名&#xff1a;root&#xff1b;密码&#xff1a;toor&#xff09; 服务器场景操作系统&#xff1a;Kali Linux 192.168.3…

【Qt高阶】Linux安装了多个版本的Qt 部署Qt程序,出包【2023.10.17】

简介 linux系统下可执行程序运行时会加载一些动态库so&#xff0c;有一些是Qt的库&#xff0c;Qt的库会加载其他更基础的库。最后出包的时候需要把依赖的包整理到一个文件夹&#xff0c;来制作安装包。近期遇到已经将依赖的so文件拷贝至程序目录下&#xff0c;但还是调系统路径…

AutoCAD 2024:计算机辅助设计(CAD)软件中文版

AutoCAD是一款广受全球设计师和工程师欢迎的计算机辅助设计&#xff08;CAD&#xff09;软件。自1982年首次推出以来&#xff0c;AutoCAD已经经历了多次迭代和改进&#xff0c;不断提升用户在产品设计、建造和工程领域的工作效率。现在&#xff0c;让我们一起探索AutoCAD 2024的…