Use shared provider instance
Requires: main module.
Configuration provider class has a property named Default
that serves as a global static source of IConfigurationProvider
instance.
It's intended use case is self-sufficient configuration in libraries: library authors may not want to force their users to provide an IConfigurationProvider
instance each time they're using library classes. Instead, these classes could just obtain a log from the shared property:
ConfigurationProvider.Default.SetupSourceFor<MyLibrarySettings>(...);
var settings = ConfigurationProvider.Default.Get<MyLibrarySettings>();
By default this property returns a singleton provider with default settings. It can be configured explicitly in the application:
var providerSettings = new ConfigurationProviderSettings { ... };
var provider = new ConfigurationProvider(providerSettings);
// Will return false if already explicitly configured:
ConfigurationProvider.TrySetDefault(provider);
Related pages
Configuration providerLast updated
Was this helpful?