Лямбда-выражения в шаблонах T4

При соединении шаблона T4 я добавил простое лямбда-выражение:

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

Это заставляет шаблону не удаваться генерировать с ошибкой:

Compiling transformation: Invalid expression term '>'   

На строке с лямбда-выражением.

Это было проверено за пределами шаблона и хорошо работает. Разве T4 не поддерживает работу с лямбда-выражениями? В противном случае есть ли какие-либо другие функции языка, которые не поддерживаются в контексте шаблона T4?

Спасибо!

6
задан RSlaughter 14 June 2010 в 15:24
поделиться

2 ответа

Если вы используете T4 в Visual Studio 2008, убедитесь, что у вас установлена ​​версия компилятора C # 3.5 в директиве шаблона . По умолчанию используется версия 2.0.

3
ответ дан 17 December 2019 в 18:10
поделиться

В качестве обходного пути вы можете поместить этот код во внешнюю библиотеку классов, которую затем можно будет вызвать из шаблона T4. Мне приходилось делать это несколько раз. Это не идеально, но работает.

0
ответ дан 17 December 2019 в 18:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: