0%

Unity中的定制特性

C#特性

Unity特性

C#

C#特性从本质上来说,自定义特性是一个标签。编译器会在托管模块的元数据中嵌入这些额外的信息。大多数的特性对编译器来说并没有意义,编译器只是机械的检测源码中的特性,并生成对应的元数据。

特性其实是一个类型的实例,特性类必须有公共构造用于实例化一个实例。就像[DllImport("PluginName")]

所有特性直接或者间接的派生于System.Attribut,这样符合CLS(Common Language Specification)中关于特性的需求。

Dllmpot特性

Serializable特性

Unity

Unity中的特性类定义在两个命名空间中- UnityEngine和UnityEditor。同样它们符合CLS。

定义自己的特性类

自定义的特性用基础库中的定义的特性类(System.AttributeAttribute)限制特性的适用范围。

检测特性。

特性

备注:

1.整理之前自己用到的C#特性与Unity特性。

2.整理之前写的Unity编辑器扩展。