Class ReflectionUtils
Utility methods for common reflection-based operations.
Inherited Members
Namespace: Unity.XR.CoreUtils
Assembly: Unity.XR.CoreUtils.dll
Syntax
public static class ReflectionUtils
Methods
FindType(Func<Type, bool>)
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, bool> | predicate | The predicate function. Must return true for the type that matches the search. |
Returns
Type | Description |
---|---|
Type | The first type for which |
FindTypeByFullName(string)
Find a type in any assembly by its full name.
Declaration
public static Type FindTypeByFullName(string fullName)
Parameters
Returns
Type | Description |
---|---|
Type | The type found, or null if no matching type exists. |
FindTypeInAssemblyByFullName(string, string)
Searches for a type by assembly simple name and its Full
Declaration
public static Type FindTypeInAssemblyByFullName(string assemblyName, string typeName)
Parameters
Type | Name | Description |
---|---|---|
string | assemblyName | Simple name of the assembly (Get |
string | typeName | Full name of the type to find (Full |
Returns
Type | Description |
---|---|
Type | The type if found, otherwise null |
FindTypesBatch(List<Func<Type, bool>>, List<Type>)
Search all assemblies for a set of types that matches any one of a set of predicates.
Declaration
public static void FindTypesBatch(List<Func<Type, bool>> predicates, List<Type> resultList)
Parameters
Type | Name | Description |
---|---|---|
List<Func<Type, bool>> | predicates | The predicate functions. A predicate function must return true for the type that matches the search and should only match one type. |
List<Type> | resultList | The list to which found types will be added. The list must have
the same number of elements as the |
Remarks
This function tests each predicate against each type in each assembly. If the predicate returns
true for a type, then that Type object is assigned to the corresponding index of
the resultList
. If a predicate returns true for more than one type, then the
last matching result is used. If no type matches the predicate, then that index of resultList
is left unchanged.
FindTypesByFullNameBatch(List<string>, List<Type>)
Searches all assemblies for a set of types by their Full
Declaration
public static void FindTypesByFullNameBatch(List<string> typeNames, List<Type> resultList)
Parameters
Type | Name | Description |
---|---|---|
List<string> | typeNames | A list containing the Full |
List<Type> | resultList | An empty list to which any matching Type objects are added. A
result in |
Remarks
If a type name in typeNames
is not found, then the corresponding index of resultList
is set to null
.
ForEachAssembly(Action<Assembly>)
Executes a delegate function for every assembly that can be loaded.
Declaration
public static void ForEachAssembly(Action<Assembly> callback)
Parameters
Remarks
ForEachAssembly
iterates through all assemblies and executes a method on each one.
If an Reflection
ForEachType(Action<Type>)
Executes a delegate function for each type in every assembly.
Declaration
public static void ForEachType(Action<Type> callback)
Parameters
NicifyVariableName(string)
Cleans 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()
Caches type information from all currently loaded assemblies.
Declaration
public static void PreWarmTypeCache()