Class ReflectionUtil
A utility class providing reflection helper methods.
Inherited Members
Namespace: IPA.Utilities
Assembly: IPA.Loader.dll
Syntax
public static class ReflectionUtil
Methods
| Improve this Doc View SourceCopyComponent(Component, Type, GameObject, Type)
Copies a component original
to a component of overridingType
on the destination UnityEngine.GameObject.
Declaration
public static Component CopyComponent(this Component original, Type overridingType, GameObject destination, Type originalTypeOverride = null)
Parameters
Type | Name | Description |
---|---|---|
UnityEngine.Component | original | the original component |
Type | overridingType | the new component's type |
UnityEngine.GameObject | destination | the destination GameObject |
Type | originalTypeOverride | overrides the source component type (for example, to a superclass) |
Returns
Type | Description |
---|---|
UnityEngine.Component | the copied component |
CopyComponent<T>(Component, GameObject, Type)
A generic version of CopyComponent(Component, Type, GameObject, Type).
Declaration
public static T CopyComponent<T>(this Component original, GameObject destination, Type originalTypeOverride = null)
where T : Component
Parameters
Type | Name | Description |
---|---|---|
UnityEngine.Component | original | the original component |
UnityEngine.GameObject | destination | the destination game object |
Type | originalTypeOverride | overrides the source component type (for example, to a superclass) |
Returns
Type | Description |
---|---|
T | the copied component |
Type Parameters
Name | Description |
---|---|
T | the overriding type |
See Also
| Improve this Doc View SourceGetField<U, T>(T, String)
Gets the value of a field.
Declaration
public static U GetField<U, T>(this T obj, string fieldName)
Parameters
Type | Name | Description |
---|---|---|
T | obj | the object instance to pull from |
String | fieldName | the name of the field to read |
Returns
Type | Description |
---|---|
U | the value of the field |
Type Parameters
Name | Description |
---|---|
U | the type of the field (result casted) |
T | the type to get the field from |
Exceptions
Type | Condition |
---|---|
MissingFieldException | if |
See Also
| Improve this Doc View SourceGetProperty<U, T>(T, String)
Gets a property on the target object, as gotten from T
.
Declaration
public static U GetProperty<U, T>(this T obj, string propertyName)
Parameters
Type | Name | Description |
---|---|---|
T | obj | the object instance |
String | propertyName | the property to get |
Returns
Type | Description |
---|---|
U | the value of the property |
Type Parameters
Name | Description |
---|---|
U | the type of the property to get |
T | the type to get the property from |
Exceptions
Type | Condition |
---|---|
MissingMemberException | if |
See Also
| Improve this Doc View SourceInvokeMethod<U, T>(T, String, Object[])
Invokes a method from T
on an object.
Declaration
public static U InvokeMethod<U, T>(this T obj, string methodName, params object[] args)
Parameters
Type | Name | Description |
---|---|---|
T | obj | the object instance |
String | methodName | the method's name |
Object[] | args | the method arguments |
Returns
Type | Description |
---|---|
U | the return value |
Type Parameters
Name | Description |
---|---|
U | the type of the property to get |
T | the type to search for the method on |
Exceptions
Type | Condition |
---|---|
MissingMethodException | if |
SetField<T, U>(T, String, U)
Sets a field on the target object, as gotten from T
.
Declaration
public static void SetField<T, U>(this T obj, string fieldName, U value)
Parameters
Type | Name | Description |
---|---|---|
T | obj | the object instance |
String | fieldName | the field to set |
U | value | the value to set it to |
Type Parameters
Name | Description |
---|---|
T | the type to get the field from |
U | the type of the field to set |
Exceptions
Type | Condition |
---|---|
MissingFieldException | if |
See Also
| Improve this Doc View SourceSetProperty<T, U>(T, String, U)
Sets a property on the target object, as gotten from T
.
Declaration
public static void SetProperty<T, U>(this T obj, string propertyName, U value)
Parameters
Type | Name | Description |
---|---|---|
T | obj | the object instance |
String | propertyName | the property to set |
U | value | the value to set it to |
Type Parameters
Name | Description |
---|---|
T | the type to get the property from |
U | the type of the property to set |
Exceptions
Type | Condition |
---|---|
MissingMemberException | if |