我想知道 (v3+) 编译器采取哪些步骤来为采用表达式参数的方法构建 LINQ 表达式。 特别是,编译器是否使用
LeafExpressionConverter
或与之共享逻辑? (这可能需要首先生成 Expr
,然后将其转换。)如果有单独的机制,是否会采取任何措施来确保与 LeafExpressionConverter
的奇偶校验?
是的,我相信它使用了
LeafExpressionConverter.QuotationToLambdaExpression
。 在开源编译器代码库中搜索 quote_to_linq_lambda_info
。