<PackageReference Include="System.Configuration.ConfigurationManager" Version="10.0.0-preview.3.25171.5" />

ProviderBase

public abstract class ProviderBase
Provides a base implementation for the extensible provider model.
using System.Collections.Specialized; namespace System.Configuration.Provider { public abstract class ProviderBase { private string _description; private bool _initialized; private string _name; public virtual string Name => _name; public virtual string Description { get { if (!string.IsNullOrEmpty(_description)) return _description; return Name; } } public virtual void Initialize(string name, NameValueCollection config) { lock (this) { if (_initialized) throw new InvalidOperationException(System.SR.Provider_Already_Initialized); _initialized = true; } if (name == null) throw new ArgumentNullException("name"); if (name.Length == 0) throw new ArgumentException(System.SR.Config_provider_name_null_or_empty, "name"); _name = name; if (config != null) { _description = config["description"]; config.Remove("description"); } } } }