2013-07-22 71 views
2

我想知道什麼步驟(v3 +)編譯器需要爲採用表達式參數的方法構建LINQ表達式。特別是,編譯器是否使用或共享邏輯,LeafExpressionConverter? (這可能需要首先生成一個Expr然後轉換它。)如果有一個單獨的機制,是否做了任何事情來確保與LeafExpressionConverter平價?編譯LINQ表達式

回答

2

是的,我相信它使用LeafExpressionConverter.QuotationToLambdaExpression。在開源編譯器代碼庫中搜索quote_to_linq_lambda_info

+1

[找到它](https://github.com/fsharp/fsharp/blob/4493a116ba6862ff0c1d08b7e1c73c6ff8b4e8af/src/fsharp/env.fs#L945)。謝謝。 – Daniel