C# Language Créer des arbres d'expression avec une expression lambda


Exemple

Voici l'arbre d'expression le plus fondamental créé par lambda.

Expression<Func<int, bool>> lambda = num => num == 42;

Pour créer des arbres d'expression "à la main", il faut utiliser la classe Expression .

L'expression ci-dessus serait équivalente à:

ParameterExpression parameter = Expression.Parameter(typeof(int), "num"); // num argument
ConstantExpression constant = Expression.Constant(42, typeof(int)); // 42 constant
BinaryExpression equality = Expression.Equals(parameter, constant); // equality of two expressions (num == 42)
Expression<Func<int, bool>> lambda = Expression.Lambda<Func<int, bool>>(equality, parameter);