Beispiel #1
0
        /// <summary>
        /// Инициализирует не инициализированный экземпляр <see cref="CommandParser"/> с настройками по умолчанию.
        /// </summary>
        public CommandParser()
        {
            var settings = new MutableCommandParserSettings(MutableCommandParserSettings.DefaultSettings);

            SettingsProvider = () => settings;
            ParseStrategy    = new DefaultCommandParseStrategy(SettingsProvider);
            IsConfigured     = false;
        }
        /// <summary>
        /// Устанавливает настройки парсера.
        /// </summary>
        /// <param name="settings">Настройки парсера.</param>
        /// <returns>Экземпляр билдера.</returns>
        /// <exception cref="ArgumentNullException">Если <paramref name="settings"/> равен <c>null</c>.</exception>
        public CommandParserBuilder WithSettings(MutableCommandParserSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            _settingsProvider = () => settings;
            return(this);
        }
Beispiel #3
0
        /// <summary>
        /// Инициализирует экземпляр <see cref="CommandParser"/>.
        /// </summary>
        /// <param name="configuration">Конфигуратор парсера.</param>
        public CommandParser(Action <MutableCommandParserSettings> configuration)
        {
            var settings = new MutableCommandParserSettings(MutableCommandParserSettings.DefaultSettings);

            configuration(settings);

            SettingsProvider = () => settings;
            ParseStrategy    = new DefaultCommandParseStrategy(SettingsProvider);
            IsConfigured     = true;
        }
Beispiel #4
0
        /// <summary>
        /// Инициализирует экземпляр <see cref="CommandParser"/>.
        /// </summary>
        /// <param name="settings">Настройки.</param>
        internal CommandParser(MutableCommandParserSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            SettingsProvider = () => settings;
            ParseStrategy    = new DefaultCommandParseStrategy(SettingsProvider);
            IsConfigured     = false;
        }
        /// <summary>
        /// Устанавливает конфигуратор настроек парсера. В качестве параметра конфигуратору передаются настройки по умолчанию.
        /// </summary>
        /// <param name="configurer">Конфигуратор настроек.</param>
        /// <returns>Экземпляр билдера.</returns>
        /// <exception cref="ArgumentNullException">Если <paramref name="configurer"/> равен <c>null</c>.</exception>
        public CommandParserBuilder WithSettings(Action <MutableCommandParserSettings> configurer)
        {
            if (configurer == null)
            {
                throw new ArgumentNullException(nameof(configurer));
            }

            _settingsProvider = () =>
            {
                var settings = new MutableCommandParserSettings(MutableCommandParserSettings.DefaultSettings);
                configurer(settings);
                return(settings);
            };

            return(this);
        }