Version: 2021.3

TypeCache

class in UnityEditor

切换到手册

描述

Provides methods for fast type extraction from assemblies loaded into the Unity Domain.

使用 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(); } }

静态函数

GetFieldsWithAttributeRetrieves a collection of fields marked with the T attribute.
GetMethodsWithAttribute获取用 T 属性标记的方法的集合。
GetTypesDerivedFrom获取从 T 类型派生的类型的集合。
GetTypesWithAttribute获取用 T 属性标记的类型的集合。