Ejemplo n.º 1
0
        internal static OptionResult CreateImplicit(
            IOption option,
            CommandResult parent)
        {
            var result = new OptionResult(option,
                                          option.DefaultToken());

            result.IsImplicit = true;

            if (option.Argument.HasDefaultValue)
            {
                var value = option.Argument.GetDefaultValue();

                switch (value)
                {
                case string arg:
                    result.TryTakeToken(new Token(arg, TokenType.Argument));
                    break;

                default:
                    result.ArgumentResult = ArgumentResult.Success(value);
                    break;
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
 public OptionResult(
     IOption option,
     Token token          = null,
     CommandResult parent = null) :
     base(option ?? throw new ArgumentNullException(nameof(option)),
          token ?? option?.DefaultToken(),
          parent)
 {
     Option = option;
 }