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));
我可以很容易地获取普通属性的表达式,但如何获取索引器属性的表达式?
在雇员(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);
}
}
}
Employee
类不像你向我们展示的那样。我使用了你提供的Employee
类样例进行了测试,它是可行的。 - MarcinJuraszek