The ReflectionUtilities type exposes the following members.
Used to build a MultiValueDictionary to see what setters are relevant to a certain Type of object. This method is called when Unity reloads scripts because the relevant Components are defined in the sourcecode.
Find all the Types that inherit from a certain Type.
Finds all the parent Types of a Type in an inheritance tree. Will also return Interfaces and inherited Interfaces.
Checks if a Type Inherits from another Type.
Attempts to add ValueSetter(s) to a GameObject for each other Component that has values we can set.
Searches the Assembly-CSharp.dll using reflection for the type of Component passed in, then adds it to the GameObject. This method can be pretty slow, so I wouldn't use it in anything critical.
Uses reflection to try to find a method in a type or any derived types. (Doesn't matter if it's private, public, etc.) This will stop the search when it finds the first method with the method name passed in.
Check to see if a certain Type has any setters that set values in that Type.