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

            SettingsProvider = () => settings;
            ParseStrategy    = new DefaultCommandParseStrategy(SettingsProvider);
            IsConfigured     = false;
        }
Exemplo n.º 2
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;
        }
Exemplo n.º 3
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>
        /// <returns>Экземпляр парсера.</returns>
        public CommandParser Build()
        {
            var strategy = new DefaultCommandParseStrategy(_settingsProvider, _tokenizerProvider, _initializerProvider, _typeResolverProvider);

            return(new CommandParser(_settingsProvider, strategy));
        }