Lambda创建表达式目录树
Posted may-day
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lambda创建表达式目录树相关的知识,希望对你有一定的参考价值。
一,如下代码:
using System; using System.Linq.Expressions; namespace Demo { class Program { static void Main(string[] args) { Func<int, int, int> func = null; //两个参数 ParameterExpression a = Expression.Parameter(typeof(int), "a"); ParameterExpression b = Expression.Parameter(typeof(int), "b"); //求积 BinaryExpression cj = Expression.Multiply(a, b); //常量 ConstantExpression Con2 = Expression.Constant(4); //求和 BinaryExpression Add = Expression.Add(cj, Con2); //创建一个表示lambda表达式的对象 Expression<Func<int, int, int>> lexp = Expression.Lambda<Func<int, int, int>>(cj, a, b); func = lexp.Compile(); //表达目录树生成委托 //查看表达式 Console.WriteLine(lexp.ToString()); // var ss = func.Invoke(1, 2); //执行委托返回结果 Console.WriteLine(ss); //创建一个表示lambda表达式的对象 Expression<Func<int, int, int>> lexp1 = Expression.Lambda<Func<int, int, int>>(Add, a, b); func = lexp1.Compile(); //表达目录树生成委托 //查看表达式 Console.WriteLine(lexp1.ToString()); var ss1 = func.Invoke(1, 2); //执行委托返回结果 Console.WriteLine(ss1); Console.ReadKey(); } } }
二,运行结果如下:
以上是关于Lambda创建表达式目录树的主要内容,如果未能解决你的问题,请参考以下文章