<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0" />

ConfigDefinitionUpdates

using System.Collections; namespace System.Configuration { internal sealed class ConfigDefinitionUpdates { internal ArrayList LocationUpdatesList { get; } internal bool RequireLocation { get; set; } internal ConfigDefinitionUpdates() { LocationUpdatesList = new ArrayList(); } internal LocationUpdates FindLocationUpdates(OverrideModeSetting overrideMode, bool inheritInChildApps) { foreach (LocationUpdates locationUpdates in LocationUpdatesList) { if (OverrideModeSetting.CanUseSameLocationTag(locationUpdates.OverrideMode, overrideMode) && locationUpdates.InheritInChildApps == inheritInChildApps) return locationUpdates; } return null; } internal DefinitionUpdate AddUpdate(OverrideModeSetting overrideMode, bool inheritInChildApps, bool moved, string updatedXml, SectionRecord sectionRecord) { LocationUpdates locationUpdates = FindLocationUpdates(overrideMode, inheritInChildApps); if (locationUpdates == null) { locationUpdates = new LocationUpdates(overrideMode, inheritInChildApps); LocationUpdatesList.Add(locationUpdates); } DefinitionUpdate definitionUpdate = new DefinitionUpdate(sectionRecord.ConfigKey, moved, updatedXml, sectionRecord); locationUpdates.SectionUpdates.AddSection(definitionUpdate); return definitionUpdate; } internal void CompleteUpdates() { foreach (LocationUpdates locationUpdates in LocationUpdatesList) { locationUpdates.CompleteUpdates(); } } internal void FlagLocationWritten() { RequireLocation = false; } } }