Exemplo n.º 1
0
 /// <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;
 }
Exemplo n.º 2
0
        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."
                          );
            }
        }
Exemplo n.º 3
0
        public StringlistParser(StringlistParseSettings parseSettings)
        {
            this.parseSettings = parseSettings;

            this.CheckStringlistParseSettings(parseSettings);
        }