System.ComponentModel.ScriptExpression.ParseExpression C# (CSharp) Method

ParseExpression() private static method

private static ParseExpression ( string expression, bool allowMethod ) : IValueExpression
expression string
allowMethod bool
return IValueExpression
        private static IValueExpression ParseExpression(string expression, bool allowMethod)
        {
            if (allowMethod && (expression.IndexOf("(", StringComparison.Ordinal) > 0)) {
                if (expression.EndsWith(")", StringComparison.Ordinal)) {
                    return ParseMethodCall(expression);
                }
                return null;
            }

            if (expression.StartsWith("'", StringComparison.Ordinal) &&
                expression.EndsWith("'", StringComparison.Ordinal)) {
                return new LiteralExpression(expression.Substring(1, expression.Length - 1));
            }

            bool boolValue;
            if (Boolean.TryParse(expression, out boolValue)) {
                return new LiteralExpression(boolValue);
            }

            int intValue;
            if (Int32.TryParse(expression, out intValue)) {
                return new LiteralExpression(intValue);
            }

            double doubleValue;
            if (Double.TryParse(expression, out doubleValue)) {
                return new LiteralExpression(doubleValue);
            }

            return ParsePropertyAccess(expression);
        }