This version of the constructor accepts a premade instance of a provider - this is the recommended constructor to use so that the default constructor creates a clean instance.

Typically you'll subclass this constructor. The default implementation provides for a section in the applicaiton's .config file.

Recommend you implement default your constructor to automatically load up:

public MyConfiguration() : base(null,"MyAppConfig") {}

Pass null and create a default provider implementation here - typically ConfigFileConfigurationProvider.