如何获取MemberExpression的值?

时间:2014-05-16 15:22:45

标签: c# linq reflection lambda

我正在编写一个流畅的SQL界面(是的,就像LINQ to Entities),我正在尝试获取MemberExpression的值,但我无法获取我在网络上找到的样本。

例如,假设我有以下代码:

var test = true;
var search = Search.Create()
    .To(to)
    .From(from)
    .Where( m => m.BooleanField == test );

在我的Where()方法中,我正在提取Expression的左侧和右侧。我有一个正确的MemberExpression,我正在尝试编译它,使其评估为true,如下所示:

var objectMember = Expression.Convert(right, typeof(object));
var getterLambda = Expression.Lambda<Func<object>>(objectMember);
var getter = getterLambda.Compile();

我期待getter成为'true',但它是'NULL'。我做错了什么?

0 个答案:

没有答案