37
1
using System;
2
using System.Linq.Expressions;
3
4
public class Program
5
{
6
public static void Main()
7
{
8
Expression<Func<Student, bool>> isTeenAgerExpr = s => s.Age > 12 && s.Age < 20;
9
10
var parameters = isTeenAgerExpr.Parameters;
11
12
Console.WriteLine("Expression: {0}", isTeenAgerExpr);
13
14
Console.WriteLine("Expression Type: {0}", isTeenAgerExpr.NodeType);
15
16
foreach (var param in parameters)
17
{
18
Console.WriteLine("Parameter Name: {0}", param.Name);
19
Console.WriteLine("Parameter Type: {0}", param.Type.Name );
20
}
21
22
var bodyExpr = isTeenAgerExpr.Body as BinaryExpression;
23
24
25
Console.WriteLine("Left side of body expression: {0}", bodyExpr.Left);
26
Console.WriteLine("Binary Expression Type: {0}", bodyExpr.NodeType);
27
Console.WriteLine("Right side of body expression: {0}", bodyExpr.Right);
28
Console.WriteLine("Return Type: {0}", isTeenAgerExpr.ReturnType);
29
}
30
}
31
32
public class Student{
33
34
public int StudentID { get; set; }
35
public string StudentName { get; set; }
36
public int Age { get; set; }
37
}
Cached Result