/// <include file='ConfigCollection.xml' path='//Method[@name="AddName"]/docs/*' /> public IConfig Add(string name) { ConfigBase result = null; if (this[name] == null) { result = new ConfigBase (name, owner); configList.Add (result); OnConfigAdded (new ConfigEventArgs (result)); } else { throw new ArgumentException ("An IConfig of that name already exists"); } return result; }
/// <summary> /// Merges the IniDocument into the Configs when the document is /// reloaded. /// </summary> private void MergeDocumentIntoConfigs() { // Remove all missing configs first RemoveConfigs (); IniSection section = null; for (int i = 0; i < iniDocument.Sections.Count; i++) { section = iniDocument.Sections[i]; IConfig config = this.Configs[section.Name]; if (config == null) { // The section is new so add it config = new ConfigBase (section.Name, this); this.Configs.Add (config); } RemoveConfigKeys (config); } }