Version: 2023.2
언어: 한국어

TypeCache.GetFieldsWithAttribute

매뉴얼로 전환
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 Attribute type.
assemblyName Optional assembly name.

반환

FieldInfoCollection Returns an unordered FieldInfo collection of fields marked with the T attribute. If assemblyName is specified, returns only fields defined in this assembly.

설명

Retrieves an unordered collection of fields marked with the T attribute.

This method provides fast access to all class fields loaded from a given assembly or all Unity domain assemblies and marked with a specific attribute. Fields marked with ancestors of the specified attribute are also included in the result. The order of results is undefined.

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; //... } } }

Note: The returned FieldInfoCollection is read-only and thread-safe. The order of FieldInfo in the collection is undefined.