/// <summary> /// Convenience method to add a <see cref="OptionGroup"/> to this handler /// </summary> /// <param name="name">The name of the group where this item belongs to. If /// <see langword="null"/>, the item is added directly to the handler itself.</param> /// <returns>A new instance of <see cref="OptionGroup"/></returns> public OptionGroup AddGroup(string name) { OptionGroup retval = new OptionGroup(name); AddOptionItem(retval); return(retval); }
/// <inheritdoc/> protected internal override void ReadStateFromItem(IOptionItem savedItem) { base.ReadStateFromItem(savedItem); OptionGroup newGroup = savedItem as OptionGroup; foreach (OptionItem item in children) { if (newGroup.nameMap.ContainsKey(item.Name)) { IOptionItem backupValue = newGroup[item.Name]; item.ReadStateFromItem(backupValue); } } }