所以我正在解析一个表达式树,但我遇到了一个异常。给定表达式:
Int32 five = 5;
var query = Z<MyPersonTable>.QueryVia<IPersonQuery>()
.Where(person => five == 5);
当我解析该five
字段而不是获取实际数字时,我得到:
Program.Hosting.TestService.P+<>;c__DisplayClass0
我承认必须是一个闭包,但我如何从中获得实际价值?
这是我的解析器:
private static XElement Parse(ConstantExpression constant)
{
return new XElement("CONSTANT",
new XAttribute("TYPE", constant.Type),
constant.Value);
}
这通常适用于其他值,但不是当我传入闭包时。