public void CreateChildren()
        {
            if (_enumType != null)
            {
                _flags.Clear();
                foreach (FieldInfo field in _enumType.GetFields(BindingFlags.Public | BindingFlags.Static))
                {
                    CommandLineModeAttribute attribute = CommandLineModeAttribute.GetAttribute(field);

                    string name = field.Name;
                    if (attribute != null && attribute.Name != null)
                    {
                        name = attribute.Name;
                    }

                    CommandLineFlagArgument argument = new CommandLineModeFlagArgument(
                        this, name, (Enum)field.GetValue(null));

                    if (attribute != null)
                    {
                        argument.Description = attribute.Description;
                    }
                }
            }
        }
 internal void SetValue(CommandLineModeFlagArgument value)
 {
     if (_value != null)
     {
         throw new ConflictCommandLineParameterException(_value, value);
     }
     _value = value;
     SetStringValue(value.Name);
 }
 public void Add(CommandLineModeFlagArgument flag)
 {
     _flags.Add(flag);
 }