zoukankan      html  css  js  c++  java
  • 反射与特性与Tool编写

         大多数程序都是用来处理数据的,他们读,写,操作和显示数据,图形也是一种数据。

         程序员为某种目的创建和使用一些类型,因此,在设计时必须理解所使用类型的特性

         有关程序及其类型的数据被称为元数据,他们保存在程序的程序集中,程序在运行时,可以查看其它程序集或本身的元数据。查看的行为叫反射,比如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");
        }
    }
    

  • 相关阅读:
    Mybatis源代码分析之类型转换
    eclipse中对于@override注解的函数报父类没有该方法
    Mybatis源代码分析之metadata包
    Android GC
    有道单词本导出xml转换.
    广播的接收与U盘广播
    Bitmap和Drawable相互转换方法
    如何提交程序到Android Market
    error parsing xml:unbound prefix
    android获取屏幕尺寸、密度
  • 原文地址:https://www.cnblogs.com/white-L/p/6483876.html
Copyright © 2011-2022 走看看