/// <summary>
        /// Устанавливает компонент для разбора команды на составляющие.
        /// </summary>
        /// <param name="tokenizer">Компонент для разбора команды на составляющие.</param>
        /// <returns>Экземпляр билдера.</returns>
        /// <exception cref="ArgumentNullException">Если <paramref name="tokenizer"/> равен <c>null</c>.</exception>
        public CommandParserBuilder WithTokenizer(ICommandTokenizer tokenizer)
        {
            if (tokenizer == null)
            {
                throw new ArgumentNullException(nameof(tokenizer));
            }

            _tokenizerProvider = () => tokenizer;
            return(this);
        }
 public CustomCommandTokenizer(Func <ICommandParserSettings> settingsProvider)
 {
     _sourceTokenizer = new DefaultCommandTokenizer(settingsProvider);
 }
예제 #3
0
 /// <summary>
 /// Creates a new instance of the base command line parser
 /// </summary>
 /// <param name="propertyService">Property service of the command line parse</param>
 /// <param name="tokenizer">Command argument tokenizer</param>
 protected CommandLineParser(IPropertyService propertyService, ICommandTokenizer tokenizer)
 {
     this.PropertyService = propertyService ?? throw new ArgumentNullException(nameof(propertyService));
     this.Tokenizer       = tokenizer ?? throw new ArgumentNullException(nameof(tokenizer));
 }