LibCSV.CSVReader.ProcessQuoteInQuotedField C# (CSharp) Method

ProcessQuoteInQuotedField() protected method

protected ProcessQuoteInQuotedField ( char currentCharacter ) : void
currentCharacter char
return void
        protected void ProcessQuoteInQuotedField(char currentCharacter)
        {
            if (_dialect.Quoting != QuoteStyle.QuoteNone && currentCharacter == _dialect.Quote)
            {
                AddChar(currentCharacter);
                _state = ParserState.InQuotedField;
            }
            else if (currentCharacter == _dialect.Delimiter)
            {
                SaveField();
                _state = ParserState.StartOfField;
            }
            else if (IsNullOrEndOfLine(currentCharacter))
            {
                SaveField();
                _state = (IsNull(currentCharacter) ? ParserState.StartOfRecord : ParserState.EndOfRecord);
            }
            else if (!_dialect.Strict)
            {
                AddChar (currentCharacter);
                _state = ParserState.InField;
            } else {
                throw new BadFormatException (
                    string.Format ("Bad format: '{0}' expected after '{1}'", _dialect.Delimiter, _dialect.Quote));
            }
        }