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编辑器扩展。