Unity 6.3
1 онлайн 12 гостей 3 в системе
Вход

TypeCache.GetFieldsWithAttribute

Declaration

public static TypeCache.FieldInfoCollection GetFieldsWithAttribute();
public static TypeCache.FieldInfoCollection GetFieldsWithAttribute(Type attrType);
public static TypeCache.FieldInfoCollection GetFieldsWithAttribute(string assemblyName);
public static TypeCache.FieldInfoCollection GetFieldsWithAttribute(Type attrType, string assemblyName);

Параметры

Параметр Описание
attrType Тип атрибута.
assemblyName Факультативное имя сборки.

Возвращаемое значение

FieldInfoCollection Возвращает неупорядоченную коллекцию FieldInfo полей, помеченных атрибутом T. Если указан атрибут assemblyName, возвращаются только поля, определенные в этой сборке.

Описание

Получает неупорядоченный набор полей, помеченных атрибутом T.

Этот метод даёт быстрый доступ ко всем полям классов, загруженным из указанной сборки или из всех сборок домена Unity и помеченным конкретным атрибутом. Поля, помеченные наследниками указанного атрибута, тоже попадают в результат. Порядок результатов не определён.

using UnityEditor;
using System;
using System.Collections.Generic;

public class Example { class MyAttribute : Attribute {}

[MyAttribute] static int s_MyField;

static void ScanStaticFieldsMarkedWithMyAttribute() { var extractedFields = TypeCache.GetFieldsWithAttribute<MyAttribute>(); foreach (var fi in extractedFields) { if (!fi.IsStatic) continue; //... } } }

Примечание: Возвращенные FieldInfoCollection являются только для чтения и безопасны для потоков. Порядок FieldInfo в коллекции не определен.