/// <summary>
 /// Инициализирует экземпляр <see cref="MutableCommandParserSettings"/>.
 /// </summary>
 /// <param name="settings">Настройки.</param>
 internal MutableCommandParserSettings(ICommandParserSettings settings)
 {
     StringComparsion         = settings.StringComparsion;
     VerbPrefix               = settings.VerbPrefix;
     ArgumentKeyPrefix        = settings.ArgumentKeyPrefix;
     RequireArgumentKeyPrefix = settings.RequireArgumentKeyPrefix;
 }
Example #2
0
        /// <summary>
        /// Валидатция того, что настройки являются валидными.
        /// </summary>
        /// <param name="settings">Настройки.</param>
        /// <exception cref="ArgumentNullException">В случае, если настройки <c>null</c>.</exception>
        /// <exception cref="CommandParserException">В случае, если настройки не валидны.</exception>
        protected virtual void EnsureSettingsValid(ICommandParserSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            if (string.IsNullOrWhiteSpace(settings.ArgumentKeyPrefix))
            {
                throw new CommandParserException(
                          "Префикс команды должен быть задан и отличаться от пробела " +
                          $"{nameof(ICommandParserSettings.ArgumentKeyPrefix)}");
            }
        }
 public UnchangedTokenizer(ICommandParserSettings settings) : base(() => settings)
 {
 }