Show / Hide Table of Contents

    Class ReflectionUtil

    A utility class providing reflection helper methods.

    Inheritance
    Object
    ReflectionUtil
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: IPA.Utilities
    Assembly: IPA.Loader.dll
    Syntax
    public static class ReflectionUtil

    Methods

    | Improve this Doc View Source

    CopyComponent(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

    | Improve this Doc View Source

    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
    CopyComponent(Component, Type, GameObject, Type)
    | Improve this Doc View Source

    GetField<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 fieldName does not exist on T

    See Also
    Get(ref T, String)
    | Improve this Doc View Source

    GetProperty<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 propertyName does not exist on T

    See Also
    Get(ref T, String)
    | Improve this Doc View Source

    InvokeMethod<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 methodName does not exist on T

    | Improve this Doc View Source

    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 fieldName does not exist on T

    See Also
    Set(ref T, String, U)
    | Improve this Doc View Source

    SetProperty<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 propertyName does not exist on T

    See Also
    Set(ref T, String, U)
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX