GetTypesWithAttribute
Retrieves an unordered collection of types marked with the T attribute.
Read time 4 minutesLast updated 6 days ago
Definition
- Type: Method
- Namespace: UnityEditor
- Assembly: UnityEditor.CoreModule
GetTypesWithAttribute<T>()
Retrieves an unordered collection of types marked with the T attribute.
public static TypeCache.TypeCollection GetTypesWithAttribute<T>() where T : Attribute
Returns
Type | Description |
|---|---|
| TypeCollection | Returns an unordered collection of types. If assemblyName is specified, returns only types defined in this assembly. |
Remarks
This method provides fast access to all classes loaded from a given assembly or all Unity domain assemblies and marked with a specific attribute. Types marked with ancestors of the specified attribute are also included in the result. The order of results is undefined.
Note: Pseudo-attributes are generally not cached by because they are handled specially rather than as custom attributes. For more information, refer to Microsoft's documentation on attributes and pseudo-attributes. However, TypeCache.GetTypesWithAttribute does support a subset of pseudo attributes, namely , , and through explicit handling.
TypeCacheSerializableAttributeComImportAttributeStructLayoutAttributeusing UnityEditor;public class Example{ static void ScanTypesWithAttribute() { var extractedTypes = TypeCache.GetTypesWithAttribute<CustomEditor>(); foreach (var m in extractedTypes) { //... } }}
Note: The returned TypeCache.TypeCollection is read-only and thread-safe. The order of types in the collection is undefined.
GetTypesWithAttribute(Type)
Retrieves an unordered collection of types marked with the T attribute.
public static TypeCache.TypeCollection GetTypesWithAttribute(Type attrType)
Parameters
Attribute type.
Returns
Type | Description |
|---|---|
| TypeCollection | Returns an unordered collection of types. If assemblyName is specified, returns only types defined in this assembly. |
Remarks
This method provides fast access to all classes loaded from a given assembly or all Unity domain assemblies and marked with a specific attribute. Types marked with ancestors of the specified attribute are also included in the result. The order of results is undefined.
Note: Pseudo-attributes are generally not cached by because they are handled specially rather than as custom attributes. For more information, refer to Microsoft's documentation on attributes and pseudo-attributes. However, TypeCache.GetTypesWithAttribute does support a subset of pseudo attributes, namely , , and through explicit handling.
TypeCacheSerializableAttributeComImportAttributeStructLayoutAttributeusing UnityEditor;public class Example{ static void ScanTypesWithAttribute() { var extractedTypes = TypeCache.GetTypesWithAttribute<CustomEditor>(); foreach (var m in extractedTypes) { //... } }}
Note: The returned TypeCache.TypeCollection is read-only and thread-safe. The order of types in the collection is undefined.
GetTypesWithAttribute<T>(string)
Retrieves an unordered collection of types marked with the T attribute.
public static TypeCache.TypeCollection GetTypesWithAttribute<T>(string assemblyName) where T : Attribute
Parameters
Optional assembly name.
Returns
Type | Description |
|---|---|
| TypeCollection | Returns an unordered collection of types. If assemblyName is specified, returns only types defined in this assembly. |
Remarks
This method provides fast access to all classes loaded from a given assembly or all Unity domain assemblies and marked with a specific attribute. Types marked with ancestors of the specified attribute are also included in the result. The order of results is undefined.
Note: Pseudo-attributes are generally not cached by because they are handled specially rather than as custom attributes. For more information, refer to Microsoft's documentation on attributes and pseudo-attributes. However, TypeCache.GetTypesWithAttribute does support a subset of pseudo attributes, namely , , and through explicit handling.
TypeCacheSerializableAttributeComImportAttributeStructLayoutAttributeusing UnityEditor;public class Example{ static void ScanTypesWithAttribute() { var extractedTypes = TypeCache.GetTypesWithAttribute<CustomEditor>(); foreach (var m in extractedTypes) { //... } }}
Note: The returned TypeCache.TypeCollection is read-only and thread-safe. The order of types in the collection is undefined.
GetTypesWithAttribute(Type, string)
Retrieves an unordered collection of types marked with the T attribute.
public static TypeCache.TypeCollection GetTypesWithAttribute(Type attrType, string assemblyName)
Parameters
Returns
Type | Description |
|---|---|
| TypeCollection | Returns an unordered collection of types. If assemblyName is specified, returns only types defined in this assembly. |
Remarks
This method provides fast access to all classes loaded from a given assembly or all Unity domain assemblies and marked with a specific attribute. Types marked with ancestors of the specified attribute are also included in the result. The order of results is undefined.
Note: Pseudo-attributes are generally not cached by because they are handled specially rather than as custom attributes. For more information, refer to Microsoft's documentation on attributes and pseudo-attributes. However, TypeCache.GetTypesWithAttribute does support a subset of pseudo attributes, namely , , and through explicit handling.
TypeCacheSerializableAttributeComImportAttributeStructLayoutAttributeusing UnityEditor;public class Example{ static void ScanTypesWithAttribute() { var extractedTypes = TypeCache.GetTypesWithAttribute<CustomEditor>(); foreach (var m in extractedTypes) { //... } }}
Note: The returned TypeCache.TypeCollection is read-only and thread-safe. The order of types in the collection is undefined.