Creating an instance of a Type
Get a Strongly-Typed Delegate to a Method or Property via Reflection
Get a generic method and invoke it
Create an instance of a Generic Type and invoke its method
Instantiating classes that implement an interface e.g. plugin activation
Getting and setting properties
Determining generic arguments of instances of generic types