/// <summary> /// Creates an instance of the <see cref="IConnectionProvider"/> class. /// <paramref name="key"/>. /// </summary> /// <param name="key"> /// The name of the provider that should be created /// </param> /// <returns> /// The newly created <see cref="IConnectionProvider"/> object. /// </returns> /// <exception cref="KeyNotFoundException"></exception> /// <remarks> /// This method used the <paramref name="key"/> as a index into the list /// of providers that was specified in constructor and them uses the found /// <see cref=" IProviderNode"/> to construct an instance of the /// <see cref="IConnectionProvider"/> class, if a provider with name /// <paramref name="key"/> is not found, this method raises a /// <see cref="KeyNotFoundException"/> exception. /// </remarks> public override IConnectionProvider Load(string key) { IProviderNode provider = providers_[key]; return(ProviderFactory <IConnectionProviderFactory> .CreateProviderFactory(provider) .CreateProvider(provider.Options.ToDictionary())); }