Check if the resolver can resolve a type (possibly with a name).
Resolve an instance of type T. If name is provided use that to disambiguate between multiple providers.
Resolve an instance of the type of TypeInfo, and execute a delegate with a pointer to that instance (as a void*).
Interface for object that can resolve instances of a type, possibly with a name.