Class ReflectionUtils
Utility methods for common reflection-based operations
Namespace: Unity.XRTools.Utils
Syntax
public static class ReflectionUtils
Methods
FindType(Func<Type, Boolean>)
Search all assemblies for a type that matches a given predicate delegate
Declaration
public static Type FindType(Func<Type, bool> predicate)
Parameters
Type | Name | Description |
---|---|---|
Func<Type, Boolean> | predicate | The predicate; Returns true for the type that matches the search |
Returns
Type | Description |
---|---|
Type | The type found, or null if no matching type exists |
FindTypeByFullName(String)
Find a type in any assembly by its full name
Declaration
public static Type FindTypeByFullName(string fullName)
Parameters
Type | Name | Description |
---|---|---|
String | fullName | The name of the type as returned by Type.FullName |
Returns
Type | Description |
---|---|
Type | The type found, or null if no matching type exists |
FindTypeInAssemblyByFullName(String, String)
Searches for an assembly with the given simple name and returns the type with the given full name in that assembly
Declaration
public static Type FindTypeInAssemblyByFullName(string assemblyName, string typeName)
Parameters
Type | Name | Description |
---|---|---|
String | assemblyName | Simple name of the assembly |
String | typeName | Full name of the type to find |
Returns
Type | Description |
---|---|
Type | The type if found, otherwise null |
FindTypesBatch(List<Func<Type, Boolean>>, List<Type>)
Search all assemblies for a set of types that matches a set of predicates
Declaration
public static void FindTypesBatch(List<Func<Type, bool>> predicates, List<Type> resultList)
Parameters
Type | Name | Description |
---|---|---|
List<Func<Type, Boolean>> | predicates | The predicates; Returns true for the type that matches each search |
List<Type> | resultList | The list to which found types will be added |
FindTypesByFullNameBatch(List<String>, List<Type>)
Search all assemblies for types that match a set of full names
Declaration
public static void FindTypesByFullNameBatch(List<string> typeNames, List<Type> resultList)
Parameters
Type | Name | Description |
---|---|---|
List<String> | typeNames | A list containing the names of the types to find |
List<Type> | resultList | An empty list which will be used to collect matching types |
ForEachAssembly(Action<Assembly>)
Iterate through all assemblies and execute a method on each one Catches ReflectionTypeLoadExceptions in each iteration of the loop
Declaration
public static void ForEachAssembly(Action<Assembly> callback)
Parameters
Type | Name | Description |
---|---|---|
Action<Assembly> | callback | The callback method to execute for each assembly |
ForEachType(Action<Type>)
Execute a callback for each type in every assembly
Declaration
public static void ForEachType(Action<Type> callback)
Parameters
Type | Name | Description |
---|---|---|
Action<Type> | callback | The callback to execute |
NicifyVariableName(String)
Clean up a variable name for display in UI
Declaration
public static string NicifyVariableName(string name)
Parameters
Type | Name | Description |
---|---|---|
String | name | The variable name to clean up |
Returns
Type | Description |
---|---|
String | The display name for the variable |
PreWarmTypeCache()
Capture type information from current assemblies into a cache
Declaration
public static void PreWarmTypeCache()