使用 lambda 表示式建立表示式樹
以下是 lambda 建立的最基本的表示式樹。
Expression<Func<int, bool>> lambda = num => num == 42;
要手動建立表示式樹,應該使用 Expression
類。
上面的表示式相當於:
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);