lambda表达式
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);
- }