Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
                }
            }
        }