Version: 2022.3

TypeCache.GetTypesDerivedFrom

切换到手册
public static TypeCache.TypeCollection GetTypesDerivedFrom ();
public static TypeCache.TypeCollection GetTypesDerivedFrom (Type parentType);

参数

parentType 类或接口的类型。

返回

TypeCollection 返回派生的类型的集合。

描述

获取从 **T** 类型派生的类型的集合。

通过此方法可以快速访问 Unity 域程序集中派生自特定类或实现特定接口的所有类。基类或接口可为通用类型。

using UnityEditor;

public class Example { static void ScanAssetPostprocessors() { var extractedTypes = TypeCache.GetTypesDerivedFrom<AssetPostprocessor>(); foreach (var editors in extractedTypes) { //... } } }

或用于实现特定接口的类。

using UnityEditor;

public interface IExampleInterface {}

public class Example { static void ScanInterfaceImplementers() { var extractedTypes = TypeCache.GetTypesDerivedFrom<IExampleInterface>(); foreach (var editors in extractedTypes) { //... } } }

**注意:**返回的 TypeCollection 为只读,具有线程安全性。