反射与特性与Tool编写
2024-09-02 13:09:07
大多数程序都是用来处理数据的,他们读,写,操作和显示数据,图形也是一种数据。
程序员为某种目的创建和使用一些类型,因此,在设计时必须理解所使用类型的特性。
有关程序及其类型的数据被称为元数据,他们保存在程序的程序集中,程序在运行时,可以查看其它程序集或本身的元数据。查看的行为叫反射,比如Type类。
特性是一种允许我们向程序集增加元数据的语言结构。他用于保存程序结构信息的某种特殊类型的类。特性的目的是告诉编译器把程序结构的某组元数据嵌入程序集。我们可以
通过把特性应用到结构来实现。
下面是Unity3d中应用特性的实例。
public class PathTool : ScriptableObject { [MenuItem("PathTool/Set Parent %q")]
static void SetParent()
{
Debug.Log("Perform operation");
}
[MenuItem("PathTool/Set Parent %q", true)]
static bool VallidateSelectiom()
{
if (Selection.activeGameObject == null)
return false;
else { return true; }
}
}
在编辑器状态下执行的脚本必须反正Editor文件下。
在非Editor文件下并把脚本放在别的对象上。
public class GameManager : MonoBehaviour { [ContextMenu("BuildPath")]
void BuildPath()
{
Debug.Log("Perform Operation");
}
}
最新文章
- Linux服务器jps报process information unavailable
- ajax post 请求415\ 400 错误
- tomcat监控
- JS获取网页属性包括宽、高等
- 共享内存shared pool (4):Library cache 转储文件
- 问题记录-Fragment导包不同导致无法自动转型
- 消息推送SignalR
- 一个Redis实现的分布式锁
- PHP数组操作——获取数组最后一个值的方法
- Eclipse常用快捷键速记
- $set()的正确使用方式
- 转:JMeter监控内存及CPU ——plugin插件监控被测系统资源方法
- PRML读书笔记_绪论
- winform(记事本--查找)
- scala语法
- 微信小程序编写新闻阅读列表
- 1、ECMAScript 6 简介
- 关于HTML5服务器发送事件(SSE)
- sql语句中GROUP BY 和 HAVING的使用 count()
- java执行linux shell命令,并拿到返回值