给定一个类型ExpressionType.MemberAccess,我如何获取字段的值?

14 浏览
0 Comments

给定一个类型ExpressionType.MemberAccess,我如何获取字段的值?

我正在解析一个表达式树。给定NodeType为ExpressionType.MemberAccess,我如何获取该字段的值?

根据C# MSDN文档:

MemberAccess是表示从字段或属性读取的节点。

一个代码片段将非常非常有帮助。提前谢谢!!!

我的代码大致如下:

public static List Filter(Expression> filterExp) 
{
//在这种情况下,表达式确实是一个二进制表达式
BinaryExpression expBody = filterExp.Body as BinaryExpression;
if (expBody.Left.NodeType == ExpressionType.MemberAccess) 
  //对((MemberExpressionexpBody.Left).Name做一些操作
//右侧确实是成员访问。实际上,值来自aspdroplist.selectedvalue
if (expBody.Right.NodeType == ExpressionType.MemberAccess)
{
   //我如何获取aspdroplist.selectedvalue的值?注意:它是非静态的
}
//返回一个列表
}

0