/// <summary> /// Initializes a new instance of the <see cref="CommandParseSettings" /> struct. /// </summary> /// <param name="commandPrefix"> /// <inheritdoc cref="CommandPrefix" select='../value/node()' /> /// </param> /// <param name="commandSuffix"> /// <inheritdoc cref="CommandSuffix" select='../value/node()' /> /// </param> /// <param name="parameterParseSettings"> /// <inheritdoc cref="ParameterParseSettings" select='../value/node()' /> /// </param> public CommandParseSettings( Char?commandPrefix, Char?commandSuffix, StringlistParseSettings parameterParseSettings ) { this.commandPrefix = commandPrefix; this.commandSuffix = commandSuffix; this.parameterParseSettings = parameterParseSettings; }
private void CheckStringlistParseSettings(StringlistParseSettings settings) { if ( (settings.StringSeparator == settings.ListPrefix) || (settings.StringSeparator == settings.ListSuffix) || (settings.StringSeparator == settings.MaskingChar) || (settings.StringSeparator == settings.AltMaskingChar) || ( (settings.NamedStringPrefix != null) && (settings.AltMaskingChar == settings.NamedStringPrefix) ) ) { throw new ArgumentException( "The string-separator can not be equal with list-prefix, list-suffix, masking-char, alternative masking-char or named-string-prefix." ); } if ( (settings.MaskingChar == settings.ListPrefix) || (settings.MaskingChar == settings.ListSuffix) || (settings.MaskingChar == settings.NamedStringValueSeparator) || ( (settings.NamedStringPrefix != null) && (settings.MaskingChar == settings.NamedStringPrefix) ) ) { throw new ArgumentException( "The masking-char can not be equal with list-prefix, list-suffix, named-string-value-separator or named-string-prefix." ); } if ( (settings.AltMaskingChar == settings.ListPrefix) || (settings.AltMaskingChar == settings.ListSuffix) || (settings.AltMaskingChar == settings.NamedStringValueSeparator) || ( (settings.NamedStringPrefix != null) && (settings.AltMaskingChar == settings.NamedStringPrefix) ) ) { throw new ArgumentException( "The alternative masking-char can not be equal with list-prefix, list-suffix, named-string-value-separator or named-string-prefix." ); } if ( (settings.NamedStringPrefix != null) && ( (settings.NamedStringPrefix == settings.ListPrefix) || (settings.NamedStringPrefix == settings.ListSuffix) || (settings.NamedStringPrefix == settings.NamedStringValueSeparator) ) ) { throw new ArgumentException( "The named-string-prefix can not be equal with list-prefix, list-suffix or named-string-value-separator." ); } if ( (settings.AltMaskingChar == settings.ListPrefix) || (settings.AltMaskingChar == settings.ListSuffix) ) { throw new ArgumentException( "The named-string-value-separator can not be equal with list-prefix or list-suffix." ); } if (settings.ListPrefix == ' ') { throw new ArgumentException("List-prefix can not be a whitespace."); } if (settings.ListSuffix == ' ') { throw new ArgumentException("List-suffix can not be a whitespace."); } if (settings.NamedStringPrefix == ' ') { throw new ArgumentException("Named-string-prefix can not be a whitespace."); } if ((settings.MaskingChar == ' ') || (settings.AltMaskingChar == ' ')) { throw new ArgumentException("Masking-char or alternative masking-char can not be a whitespace."); } if ((settings.NamedStringPrefix == null) && (settings.NamedStringValueSeparator == ' ')) { throw new ArgumentException( "The prefix for named-strings can not be null if named-string value separator is a whitespace." ); } }
public StringlistParser(StringlistParseSettings parseSettings) { this.parseSettings = parseSettings; this.CheckStringlistParseSettings(parseSettings); }