式ツリーを解析していますが、異常に遭遇しました。式を考えると:
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);
}
これは通常、他の値に対しては機能しますが、クロージャーを渡すときは機能しません。