Support provider model for storing Extension data.
The base class of all providers. It allows applications to work with providers in a generic manner. It forces implementation details of providers and it providers an efficient way to get the constructorInfo of the provider so a provider instance can be created.
The Provider definition and the ConstructorInfo instance associated with it.