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)); }
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)); }