| File: System\Configuration\ProviderSettingsCollection.cs | Web Access |
| Project: src\runtime\src\libraries\System.Configuration.ConfigurationManager\src\System.Configuration.ConfigurationManager.csproj (System.Configuration.ConfigurationManager) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace System.Configuration { [ConfigurationCollection(typeof(ProviderSettings))] public sealed class ProviderSettingsCollection : ConfigurationElementCollection { private static readonly ConfigurationPropertyCollection s_properties = new ConfigurationPropertyCollection(); public ProviderSettingsCollection() : base(StringComparer.OrdinalIgnoreCase) { } protected internal override ConfigurationPropertyCollection Properties => s_properties; public new ProviderSettings this[string key] => (ProviderSettings)BaseGet(key); public ProviderSettings this[int index] { get { return (ProviderSettings)BaseGet(index); } set { if (BaseGet(index) != null) BaseRemoveAt(index); BaseAdd(index, value); } } public void Add(ProviderSettings provider) { if (provider != null) { provider.UpdatePropertyCollection(); BaseAdd(provider); } } public void Remove(string name) { BaseRemove(name); } public void Clear() { BaseClear(); } protected override ConfigurationElement CreateNewElement() { return new ProviderSettings(); } protected override object GetElementKey(ConfigurationElement element) { return ((ProviderSettings)element).Name; } } }