簡體   English   中英

T4模板中的Lambda表達式

[英]Lambda Expressions in T4 Templates

在整理T4模板的同時,我拋出了一個簡單的lambda表達式:

<#=string.Join(",", updateFields.ConvertAll(field => field.Name).ToArray())#>

這會導致模板無法生成錯誤:

Compiling transformation: Invalid expression term '>'   

在lambda表達式的行上。

這已在模板外檢查並正常工作。 T4不支持使用lambda表達式嗎? 如果沒有,是否有任何其他語言功能在T4模板的上下文中不受支持?

謝謝!

如果在Visual Studio 2008中使用T4,請確保在模板指令中將C#編譯器版本設置為3.5。 它默認使用2.0。

作為一種解決方法,您可以將該代碼放入外部類庫中,然后可以在T4模板中調用該類庫。 我必須多次這樣做。 它不理想,但它的工作原理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM