コード例 #1
0
        private static void HandleCurrentPositionPostIndexerValue(OPathParseResult parseResult, char opathChar)
        {
            if (IsWhitespaceChar(opathChar))
            {
                // Ignore
            }
            else if (IsIndexerEndChar(opathChar))
            {
                parseResult.CurrentPosition = OPathParsePosition.InVariableOPath;

                if (parseResult.IsInIntIndexer())
                {
                    parseResult.AddOPathIntIndexerPart();
                }
                else
                {
                    parseResult.AddOPathStringKeyPart();
                }
            }
            else
            {
                throw new OPathException("Invalid character in indexer starting at position " + (parseResult.IndexerStartIndex + 1));
            }
        }