C#动态构建lambda表达式(一)

来源:互联网 发布:国产爆笑喜剧电影知乎 编辑:程序博客网 时间:2024/05/22 00:35

lambda表达式就是从委托进化来的,书写方便。

形如:p=>p.Name

其中p叫做表达式参数,p.Name成为表达式体body.

动态构建lambda表达式,满足以上条件就好了.

        public LambdaExpression GetLambdaExpression(string propertyName)        {            //1.创建表达式参数(指定参数或变量的类型:p)            ParameterExpression param = Expression.Parameter(typeof(Program));            //2.构建表达式体(类型包含指定的属性:p.Name)            MemberExpression body = Expression.Property(param, propertyName);            //3.根据参数和表达式体构造一个lambda表达式            return Expression.Lambda(body, param);        }



0 0
原创粉丝点击