attrType | 特性类型。 |
assemblyName | 可选程序集名称。 |
MethodCollection 返回一个无序的 MethodInfo 标记有 T 特性的方法的集合。如果指定了 assemblyName,则仅返回在此程序集中定义的方法。
获取一个用 T 特性标记的无序方法集合。
这种方法提供了快速访问所有从给定程序集加载或所有 Unity 域程序集及标记有特定特性的方法。标记有指定特性祖先的方法也包括在结果中。结果的顺序是不确定的。
using UnityEditor; using System.Collections.Generic;
public class Example { static void ScanInitializeOnLoadMethods() { var extractedMethods = TypeCache.GetMethodsWithAttribute<InitializeOnLoadMethodAttribute>(); foreach (var m in extractedMethods) { if (m.IsPrivate) continue; //... }
for (int i = 0; i < extractedMethods.Count; ++i) { if (extractedMethods[i].IsPublic) continue; //... } } }
注意: 返回的 MethodCollection 是只读且线程安全的。集合中的 MethodInfo 的顺序不确定。