T4模板中的Lambda表达式

RSl*_*ter 6 c# t4 lambda templates

在整理T4模板的同时,我抛出了一个简单的lambda表达式:

<#=string.Join(",", updateFields.ConvertAll(field => field.Name).ToArray())#>
Run Code Online (Sandbox Code Playgroud)

这会导致模板无法生成错误:

Compiling transformation: Invalid expression term '>'   
Run Code Online (Sandbox Code Playgroud)

在lambda表达式的行上.

这已在模板外检查并正常工作.T4不支持使用lambda表达式吗?如果没有,是否有任何其他语言功能在T4模板的上下文中不受支持?

谢谢!

Ole*_*ych 3

如果您在 Visual Studio 2008 中使用 T4,请确保在模板指令中将 C# 编译器版本设置为 3.5 。默认使用 2.0。