Paw*_*anS 3 c# linq asp.net entity-framework linq-expressions
var param = Expression.Parameter(typeof(Employee), "t");
MemberExpression member = Expression.Property(param, "EmployeeName");
var value = Convert.ChangeType(filterProperty.Value, member.Type);
ConstantExpression constant = Expression.Constant(value);
var body = Expression.Or(leftExpr, Expression.Equal(member, constant));
Run Code Online (Sandbox Code Playgroud)
我可以轻松获取正常属性的表达式,但是如何获取索引器属性的表达式?
在Employee课堂上我有两个索引器.
class Employee
{
public string EmployeeName {get;set;}
public string this[EmployeeTypes empType]
{
get
{
return GetEmployee(empType);
}
}
public string this[int empNum]
{
get
{
return GetEmployee(empNum);
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用Item物业名称:
var param = Expression.Parameter(typeof(Employee), "t");
MemberExpression member = Expression.Property(param, "EmployeeName");
var body = Expression.Property(param, "Item", Expression.Constant(10));
var lambda = Expression.Lambda<Func<Employee, string>>(body, param);
var compiled = lambda.Compile();
Run Code Online (Sandbox Code Playgroud)
给你的是可以做的
Func<Employee, string> compiled = t => t[10];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1431 次 |
| 最近记录: |