提供从加载到 Unity 域的程序集中进行快速类型提取的方法。
使用 TypeCache 可访问属性和派生的类型信息。此缓存允许从原生缓存数据中利用任意编辑器代码。
常见用例是在构建或扩展 Unity 编辑器时提取用特定属性标记的类型或用于扩展或实现特定类型的类。
在当前域中迭代类型的操作通常很慢,速度与类型数成线性关系。
为加速类型提取,编辑器在原生侧构建一个加速表,其中包含有关类型属性和派生类的信息。
using UnityEditor; using System; using System.Collections.Generic; using System.Linq;
public class VolumeComponent {}
public class Example { static List<Type> s_VolumeComponents; static Example() { s_VolumeComponents = TypeCache.GetTypesDerivedFrom<VolumeComponent>().ToList(); } }
GetMethodsWithAttribute | 获取用 T 属性标记的方法的集合。 |
GetTypesDerivedFrom | 获取从 T 类型派生的类型的集合。 |
GetTypesWithAttribute | 获取用 T 属性标记的类型的集合。 |