LibCSV.CSVReader.ProcessChar C# (CSharp) Method

ProcessChar() protected method

protected ProcessChar ( char currentCharacter ) : void
currentCharacter char
return void
        protected void ProcessChar(char currentCharacter)
        {
            switch (_state)
            {
                case ParserState.StartOfRecord:
                    {
                        //TODO: should we add ignore null byte attribute to dialect?
            //						if (IsNull(currentCharacter))
            //						{
            //							break;
            //						}

                        //TODO: can this be executed?
            //						if (IsEndOfLine(currentCharacter))
            //						{
            //							_state = ParserState.EndOfRecord;
            //							break;
            //						}

                        _state = ParserState.StartOfField;
                        goto case ParserState.StartOfField;
                    }

                case ParserState.StartOfField:
                    ProcessStartOfField(currentCharacter);
                    break;

                case ParserState.EscapedCharacter:
                    ProcessEscapedChar(currentCharacter);
                    break;

                case ParserState.InField:
                    ProcessInField(currentCharacter);
                    break;

                case ParserState.InQuotedField:
                    ProcessInQuotedField(currentCharacter);
                    break;

                case ParserState.EscapeInQuotedField:
                    ProcessEscapeInQuotedField(currentCharacter);
                    break;

                case ParserState.QuoteInQuotedField:
                    ProcessQuoteInQuotedField(currentCharacter);
                    break;
            }
        }