想知道是否有任何方法可以獲得LINQ「查詢」語法表達式產生的lambda表達式。將LINQ查詢語法轉換爲Lambda
考慮:
var query = from c in dc.Colors
where c.ID == 213
orderby c.Name, c.Description
select new {c.ID, c.Name, c.Description };
有沒有什麼辦法讓生成的 「拉姆達」 代碼/體現在哪裏?
var query = dc.Colors
.Where(c => c.ID == 213)
.OrderBy(c => c.Name)
.ThenBy(c => c.Description)
.Select(c => new {c.ID, c.Name, c.Description, });
我知道這些是非常簡單的例子,並且C#編譯器從所述查詢表達式編譯代碼時生成一個lambda表達式。有什麼方法可以獲得該表達的副本嗎?
我希望能夠將此作爲一個訓練工具,用於我的一些團隊成員對lambda表達式不太熟悉。另外,我使用了Linq Pad,但理想情況下,這可以在沒有第三方工具的情況下實現。
這會產生與您在裝配體上使用反射器時發現的結果類似的結果。所有針對瘋狂命名匿名類型的靜態方法調用。不理想。 – andleer 2009-05-01 17:26:29