Я разбираю дерево выражений. Учитывая NodeType выражения ExpressionType.MemberAccess, как мне получить значение этого поля?
В документах MSDN MSDN: MemberAccess - это A node, который представляет чтение из поля или свойства.
Фрагмент кода будет невероятно, невероятно полезным. Спасибо заранее.
Мой код выглядит примерно так:
public static List<T> Filter(Expression<Func<T, bool>> filterExp)
{
//the expression is indeed a binary expression in this case
BinaryExpression expBody = filterExp.Body as BinaryExpression;
if (expBody.Left.NodeType == ExpressionType.MemberAccess)
//do something with ((MemberExpressionexpBody.Left).Name
//right hand side is indeed member access. in fact, the value comes from //aspdroplist.selectedvalue
if (expBody.Right.NodeType == ExpressionType.MemberAccess)
{
//how do i get the value of aspdroplist.selected value?? note: it non-static
}
//return a list
}