表达式相加
//常量表达式
Expression firstArg = Expression.Constant(2);
Expression secondArg = Expression.Constant(4);
//相加
Expression addExpression = Expression.Add(firstArg, secondArg);
Console.WriteLine(addExpression.ToString());
将表达式编译成委托
Console.WriteLine("将表达式编译成委托");
Expression<Func<int>> expression = Expression.Lambda<Func<int>>(addExpression);
Console.WriteLine(expression);
var func = expression.Compile();
Console.WriteLine(func);
Console.WriteLine("结果:" + func());
将Lamda表达式转换成表达式
Expression<Func<int>> expression = () => 5;
Console.WriteLine(expression);
Console.WriteLine(expression.Compile());
Console.WriteLine(expression.Compile()());
获得表达式信息
Expression