318 Part IV Advanced LINQ LambdaExpression Lambda / BinaryExpression BinaryExpression * 2 ConstantExpression b h ParameterExpression ParameterExpression Figure 11-8 Expression tree with class names for node implementation The top-level node is the one that corresponds to a TriangleAreaExp instance. This node is of the generic type Expression, where the constructed type is Expression>. Expression is a class that inherits from LambdaExpression, which inherits from the abstract class Expression. Any node of the expression tree is of a class that specializes Expression. A class such as this can have its own properties that, when the properties are of type Expression, define other nodes tied to the tree. Take a look at Figure 11-9 to see an example of a more complex expression tree that corresponds to the following expression: Expression> Formula = (n) => 1 + Double(n * (n % 2 == 0 ? -1 : 1)); An expression tree can