Exemple #1
0
 public void ProcessCommand(Stack<string> stack, Arguments arguements)
 {
     string name = LongName;
     object value;
     if (stack.IsEmpty() || stack.Peek().IsCommand())
         value = null;
     else
         value = stack.Pop();
     arguements.Add(name, value);
     if (Callback != null)
         Callback((value??"").ToString());
 }
Exemple #2
0
 private void HandleMissingArguments(Arguments arguments)
 {
     var keys = arguments.GetKeys();
     var options = _options.ToList();
     foreach (var option in options)
     {
         if (!keys.Contains(option.LongName.ToLower()))
         {
             if (option.IsRequired)
                 throw new RequiredArgumentMissingException(option.LongName, option.LongName + " is a required command line argument");
             if (option.Default != null)
                 arguments.Add(option.LongName, option.Default);
         }
     }
 }