If the runtime class loader cannot resolve a reference to an assembly, type, or resource, then the corresponding events are raised to give the callback a chance to tell the runtime which assembly the referenced assembly, type, or resource is in. It is the responsibility of the ResolveEventHandler to return the assembly that resolves the type, assembly, or resource.
Every derived class of Delegate and MulticastDelegate has a constructor and an Invoke method. See the Managed Extensions for C++ code example in the description for the Delegate class.