Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Lambda Expressions in T4 Templates

Whilst putting together a T4 template I threw in a simple lambda expression:

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

This causes the template to fail to generate with the error:

Compiling transformation: Invalid expression term '>'   

On the line with the lambda expression.

This has been checked outside of a template and works fine. Does T4 not support working with lambda expressions? If not, are there any other language features that are unsupported in the context of a T4 template?

Thanks!

like image 312
RSlaughter Avatar asked Jun 14 '10 15:06

RSlaughter


1 Answers

If you are using T4 in Visual Studio 2008, make sure that you have C# compiler version set to 3.5 in the template directive. It uses 2.0 by default.

like image 137
Oleg Sych Avatar answered Oct 18 '22 15:10

Oleg Sych