Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


GetFieldsWithAttribute

Retrieves an unordered collection of fields marked with the T attribute.
Read time 3 minutesLast updated 5 days ago

Definition

  • Type: Method
  • Namespace: UnityEditor
  • Assembly: UnityEditor.CoreModule

GetFieldsWithAttribute<T>()

Retrieves an unordered collection of fields marked with the T attribute.
public static TypeCache.FieldInfoCollection GetFieldsWithAttribute<T>() where T : Attribute

Returns

Type

Description

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

Remarks

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 TypeCache.FieldInfoCollection is read-only and thread-safe. The order of FieldInfo in the collection is undefined.

GetFieldsWithAttribute(Type)

Retrieves an unordered collection of fields marked with the T attribute.
public static TypeCache.FieldInfoCollection GetFieldsWithAttribute(Type attrType)

Parameters

attrType

Attribute type.

Returns

Type

Description

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

Remarks

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 TypeCache.FieldInfoCollection is read-only and thread-safe. The order of FieldInfo in the collection is undefined.

GetFieldsWithAttribute<T>(string)

Retrieves an unordered collection of fields marked with the T attribute.
public static TypeCache.FieldInfoCollection GetFieldsWithAttribute<T>(string assemblyName) where T : Attribute

Parameters

assemblyName

Optional assembly name.

Returns

Type

Description

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

Remarks

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 TypeCache.FieldInfoCollection is read-only and thread-safe. The order of FieldInfo in the collection is undefined.

GetFieldsWithAttribute(Type, string)

Retrieves an unordered collection of fields marked with the T attribute.
public static TypeCache.FieldInfoCollection GetFieldsWithAttribute(Type attrType, string assemblyName)

Parameters

attrType

Attribute type.

assemblyName

Optional assembly name.

Returns

Type

Description

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

Remarks

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 TypeCache.FieldInfoCollection is read-only and thread-safe. The order of FieldInfo in the collection is undefined.