示例#1
0
        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;
                }
            }
        }
示例#2
0
        public void Add(ArgumentDefinition argumentDefinition)
        {
            if (argumentDefinition == null)
            {
                throw new ArgumentNullException("argumentDefinion");
            }

            argumentDefinitions.Add(argumentDefinition);
        }
示例#3
0
        public ArgumentInfo(ArgumentDefinition definition, string value = null)
        {
            if (definition == null)
            {
                throw new ArgumentNullException(nameof(definition));
            }

            this.definition = definition;
            this.value      = value;
        }