public void AddOption(string name, string longName, string description, string paramName, CommandlineOptionFlags flags, Action <BaseCommandlineParser, string> action, int requiredPosition = int.MaxValue) { DoAddOption(name, longName, description, paramName, flags, action, requiredPosition); }
/// <summary> /// Method for adding a new commandline argument with specified parameters. /// </summary> /// <param name="name">The short name.</param> /// <param name="longName">The long name.</param> /// <param name="description">The description.</param> /// <param name="flags">The flags.</param> /// <param name="action">The action.</param> public void AddOption(string name, string longName, string description, CommandlineOptionFlags flags, Action <BaseCommandlineParser, string> action) { DoAddOption(name, longName, description, String.Empty, flags, action); }
/// <summary> /// Method for adding a new commandline argument with specified parameters. /// </summary> /// <param name="name">The short name.</param> /// <param name="longName">The long name.</param> /// <param name="description">The description.</param> /// <param name="paramName">Name of the param.</param> /// <param name="flags">The flags.</param> /// <param name="action">The action.</param> /// <param name="requiredPosition">Required position; -1 if not required at a specific position</param> protected virtual void DoAddOption(string name, string longName, string description, string paramName, CommandlineOptionFlags flags, Action <BaseCommandlineParser, string> action, int requiredPosition = int.MaxValue) { // Check if the parameters are valid if (!ValidateOptionName(name)) { throw new ArgumentException("Invalid value.", "name"); } if (!string.IsNullOrEmpty(longName) && !ValidateOptionName(longName)) { throw new ArgumentException("Invalid value.", "longName"); } if (requiredPosition < 0) { throw new ArgumentOutOfRangeException("requiredPosition", "Value should be >= 0"); } if (requiredPosition != int.MaxValue) { if (Options.FirstOrDefault(a => a.RequiredPosition == requiredPosition) != null) { throw new ArgumentException("Value alreay exists.", "requiredPosition"); } if (flags.HasAny(CommandlineOptionFlags.HasParameter)) { throw new ArgumentException("Required position option cannot have a parameter.", "paramName"); } } // Add a new option to the available options list Options.Add(new CommandlineOption { Name = name, LongName = longName, Description = description, ParameterName = paramName, Flags = flags, Action = action, RequiredPosition = requiredPosition }); }
/// <summary> /// Method for adding a new commandline argument with specified parameters. /// </summary> /// <param name="name">The short name.</param> /// <param name="longName">The long name.</param> /// <param name="description">The description.</param> /// <param name="paramName">Name of the param.</param> /// <param name="flags">The flags.</param> /// <param name="action">The action.</param> /// <param name="requiredPosition">Required position; -1 if not required at a specific position</param> protected virtual void DoAddOption(string name, string longName, string description, string paramName, CommandlineOptionFlags flags, Action<BaseCommandlineParser, string> action, int requiredPosition = int.MaxValue) { // Check if the parameters are valid if (!ValidateOptionName(name)) throw new ArgumentException("Invalid value.", "name"); if (!string.IsNullOrEmpty(longName) && !ValidateOptionName(longName)) throw new ArgumentException("Invalid value.", "longName"); if (requiredPosition < 0) throw new ArgumentOutOfRangeException("requiredPosition", "Value should be >= 0"); if (requiredPosition != int.MaxValue) { if (Options.FirstOrDefault(a => a.RequiredPosition == requiredPosition) != null) throw new ArgumentException("Value alreay exists.", "requiredPosition"); if (flags.HasAny(CommandlineOptionFlags.HasParameter)) throw new ArgumentException("Required position option cannot have a parameter.", "paramName"); } // Add a new option to the available options list Options.Add(new CommandlineOption { Name = name, LongName = longName, Description = description, ParameterName = paramName, Flags = flags, Action = action, RequiredPosition = requiredPosition }); }
public void AddOption(string name, string longName, string description, string paramName, CommandlineOptionFlags flags, Action<BaseCommandlineParser, string> action, int requiredPosition = int.MaxValue) { DoAddOption(name, longName, description, paramName, flags, action, requiredPosition); }
/// <summary> /// Method for adding a new commandline argument with specified parameters. /// </summary> /// <param name="name">The short name.</param> /// <param name="longName">The long name.</param> /// <param name="description">The description.</param> /// <param name="flags">The flags.</param> /// <param name="action">The action.</param> public void AddOption(string name, string longName, string description, CommandlineOptionFlags flags, Action<BaseCommandlineParser, string> action) { DoAddOption(name, longName, description, String.Empty, flags, action); }