Parse() public method

public Parse ( Type resultType ) : Expression
resultType Type
return Expression
示例#1
0
文件: Math.cs 项目: litdev1/LitDev
 /// <summary>
 /// Evaluate a string expression to a boolean "True" or "False" (if possible).
 /// An alternative to Evaluate that behaves nicely with the TextWindow.
 /// </summary>
 /// <param name="expression">The expression to evaluate to a boolean, e.g. "21.3 > 16".</param>
 /// <returns>The evaluated result ("True" or "False").</returns>
 public static Primitive Evaluate3(Primitive expression)
 {
     try
     {
         ParameterExpression pe = Expression.Parameter(typeof(string), "IntegerAsReal");
         ExpressionParser parser = new ExpressionParser(new ParameterExpression[] { pe }, expression, null);
         LambdaExpression expr = Expression.Lambda(parser.Parse(typeof(bool)), null);
         var del = (Func<bool>)expr.Compile();
         return del();
     }
     catch (Exception ex)
     {
         Utilities.OnError(Utilities.GetCurrentMethod(), ex);
         return "";
     }
 }
示例#2
0
        public static LambdaExpression ParseLambda(ParameterExpression[] parameters, Type resultType, string expression, params object[] values)
        {
            ExpressionParser parser = new ExpressionParser(parameters, expression, values);

            return(Expression.Lambda(parser.Parse(resultType), parameters));
        }
示例#3
0
        public static LambdaExpression ParseLambda(IDynamicLinkCustomTypeProvider provider, ParameterExpression[] parameters, Type resultType, string expression, params object[] values)
        {
            ExpressionParser parser = new ExpressionParser(provider, parameters, expression, values);

            return(Expression.Lambda(parser.Parse(resultType), parameters));
        }
        public static Expression Parse(Type resultType, string expression, params object[] values)
        {
            var parser = new ExpressionParser(null, expression, values);

            return(parser.Parse(resultType));
        }
 public static LambdaExpression ParseLambda(ParameterExpression[] parameters, Type resultType, string expression, params object[] values)
 {
     ExpressionParser parser = new ExpressionParser(parameters, expression, values);
     return Expression.Lambda(parser.Parse(resultType), parameters);
 }
示例#6
0
        public static Expression Parse(Type resultType, string expression, ICollection <Type> additionalAllowedTypes = null, params object[] values)
        {
            var parser = new ExpressionParser(null, expression, values, additionalAllowedTypes);

            return(parser.Parse(resultType));
        }
示例#7
0
        public static LambdaExpression ParseLambda(ParameterExpression[] parameters, Type resultType, string expression, ICollection <Type> additionalAllowedTypes = null, params object[] values)
        {
            var parser = new ExpressionParser(parameters, expression, values, additionalAllowedTypes);

            return(Expression.Lambda(parser.Parse(resultType), parameters));
        }
 public static LambdaExpression ParseLambda(ParameterExpression[] parameters, Type resultType, string expression, QueryResolver queryResolver)
 {
     ExpressionParser parser = new ExpressionParser(parameters, expression, queryResolver);
     return Lambda(parser.Parse(resultType), parameters);
 }