public void Parse(string[] args) { int argumentIndex = 0; foreach (string arg in args) { if (IsOption(arg)) { OptionDefinition optionDefinition = FindOptionDefinition(arg); OptionInfo optionInfo = new OptionInfo( optionDefinition, GetOptionValue(arg)); optionInfos.Add(optionInfo); } else { ArgumentDefinition argumentDefinition = FindArgumentDefinition(arg, argumentIndex); ArgumentInfo argumentInfo = new ArgumentInfo( argumentDefinition, arg); argumentInfos.Add(argumentInfo); argumentIndex += 1; } } }
public void Add(ArgumentDefinition argumentDefinition) { if (argumentDefinition == null) { throw new ArgumentNullException("argumentDefinion"); } argumentDefinitions.Add(argumentDefinition); }
public ArgumentInfo(ArgumentDefinition definition, string value = null) { if (definition == null) { throw new ArgumentNullException(nameof(definition)); } this.definition = definition; this.value = value; }