internal void InternalUnMerge(ConfigurationElement sourceElement, ConfigurationElement parentElement, ConfigurationSaveMode saveMode) { this.Unmerge(sourceElement, parentElement, saveMode); base.BaseClear(); ProfileGroupSettingsCollection settingss = sourceElement as ProfileGroupSettingsCollection; ProfileGroupSettingsCollection settingss2 = parentElement as ProfileGroupSettingsCollection; foreach (ProfileGroupSettings settings in settingss) { ProfileGroupSettings settings2 = settingss2.Get(settings.Name); ProfileGroupSettings element = new ProfileGroupSettings(); element.InternalUnmerge(settings, settings2, saveMode); this.BaseAdd(element); } }
internal void InternalUnMerge(ConfigurationElement sourceElement, ConfigurationElement parentElement, ConfigurationSaveMode saveMode) { // This requires a special unmerge because it should not act like an element in a collection // which is the default behavior Unmerge(sourceElement, parentElement, saveMode); // Base merge to get locks merged BaseClear(); // don't use the merged data however ProfileGroupSettingsCollection source = sourceElement as ProfileGroupSettingsCollection; ProfileGroupSettingsCollection parent = parentElement as ProfileGroupSettingsCollection; // foreach group in the source we should unmerge the individual settings. foreach (ProfileGroupSettings settings in source) { ProfileGroupSettings settingsFromParent = parent.Get(settings.Name); ProfileGroupSettings deltaSettings = new ProfileGroupSettings(); deltaSettings.InternalUnmerge(settings, settingsFromParent, saveMode); BaseAdd(deltaSettings); } }