Исходный автор (ы) | Novell, Xamarin, Microsoft |
---|---|
Первоначальный выпуск | 2005 г.; 15 лет назад (2005 г.) |
Стабильный выпуск | v2.0.5 / 13 июня 2019 г.; 16 месяцев назад (13.06.2019) |
Репозиторий | github.com / mono / t4 |
Написано в | C# |
Операционной системе | Linux, Windows |
Платформа | .NET Framework,. .NET Core |
Тип | Программная среда |
Лицензия | Лицензия MIT |
Веб-сайт | Генерация кода и T4 Текстовые шаблоны |
Набор инструментов преобразования текстовых шаблонов (обычно именуемый «T4») - это бесплатная структура генерации текста с открытым исходным кодом на основе шаблонов. Исходные файлы T4 обычно обозначаются расширением файла «.tt».
T4 используется разработчиками как часть приложения или инструмента framework для автоматизации создания текстовых файлов с различными параметрами. Эти текстовые файлы могут иметь любой текстовый формат, такой как код (например, C # ), XML, HTML или XAML.
T4 использует формат настраиваемого шаблона, который может содержать код.NET и строковые литералы, он анализируется инструментом командной строки T4 в код.NET, компилируется и выполняется. Результатом выполненного кода является текстовый файл, созданный шаблоном. T4 также можно полностью запускать в приложениях.NET с помощью класса TextTransformation, который устраняет необходимость для конечного пользователя устанавливать Visual Studio.
T4 используется в Microsoft в ASP.NET MVC для создания представлений и контроллеров, ADO.NET Entity Framework для создания сущностей и Динамические данные ASP.NET. Он также используется вне Microsoft в таких проектах, как SubSonic.
Шаблоны T4 поддерживаются в Visual Studio, MonoDevelop и JetBrains Rider.
Существует четыре типа элементов управления, передаваемых механизмом преобразования шаблонов T4.
Имя | Синтаксис | Описание |
---|---|---|
Директивы | <#@... #> | Инструкции для механизма преобразования |
Стандартные блоки управления | <#... #> | Код для выполнения (например, циклы) |
Блоки управления выражениями | <#=... #> | Выражения, оцениваемые и преобразующиеся в строку |
Блоки управления функциями класса | <#+... #> | Определения классов и функций |
Microsoft часто критиковали за отсутствие поддержки инструментария для T4 в среде Visual Studio IDE и полагается на сторонних разработчиков, а именно Tangible Engineering и Clarius Consulting, однако более поздние версии включают улучшенную поддержку инструментов.