2

式ツリーを解析していますが、異常に遭遇しました。式を考えると:

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);
    }

これは通常、他の値に対しては機能しますが、クロージャーを渡すときは機能しません。

4

0 に答える 0