TypeCache.GetMethodsWithAttribute
Declaration
public static TypeCache.MethodCollection GetMethodsWithAttribute();public static TypeCache.MethodCollection GetMethodsWithAttribute(Type attrType);public static TypeCache.MethodCollection GetMethodsWithAttribute(string assemblyName);public static TypeCache.MethodCollection GetMethodsWithAttribute(Type attrType, string assemblyName);Параметры
| Параметр | Описание |
|---|---|
| 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 в коллекции не определен.