/// <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; }
/// <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) { }