扩大
缩小

lambda表达式

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

形如:p=>p.Name

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

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

 

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

posted on 2017-07-05 11:44  禅道  阅读(184)  评论(0编辑  收藏  举报

导航