static bool VerifyArgument(object argument, LambdaExpression verifier)
        {
            var value = verifier.Execute(argument);

            if (value is bool result)
            {
                return(result);
            }
            throw new InvalidOperationException("expected bool value");
        }
            private Expression Evaluate(Expression e)
            {
                if (e.NodeType == ExpressionType.Constant)
                {
                    return(e);
                }

                LambdaExpression lambda = Expression.Lambda(e);
                object?          value  = lambda.Execute();

                return(Expression.Constant(value, e.Type));
            }
Exemple #3
0
            private Expression Evaluate(Expression e)
            {
                if (e.NodeType == ExpressionType.Constant)
                {
                    return(e);
                }

                // Note[mge]: Uses the expression evaluation instead of Expression.Compile().
                LambdaExpression lambda = Expression.Lambda(e);
                object           value  = lambda.Execute();

                return(Expression.Constant(value, e.Type));
            }