Text Template Transformation Toolkit
Text Template Transformation Toolkit (скорочено T4) — шаблонно орієнтований генератор коду від компанії Microsoft. Він включений у Visual Studio починаючи з версії 2008 і для Visual Studio 2005 доступний як окремий тулкіт. T4 має ASP.NET подібний синтаксис.
Директиви компіляції та опції обробки для блоків коду, мова програмування для даних директив це C#. Існують наступні типи директив:
- Директиви шаблонів(Template directive) — Дозволяє встановити правила за якими шаблон буде оброблено, можливе лише одиничне використання даної директиви. Приклад:
<#@ template [language="VB/C#"] [compilerOptions="опції компілятору"] [culture="код культури"]
[debug="true/false"] [hostspecific="true/false/trueFromBase"] [inherits="ім'я класу від якого відбувається наслідування"]
[visibility="public/internal"] [linePragmas="true/false"] #>
- Вихідні директиви(Output directive) — Дозволяє встановити тип вихідного файлу, а також кодування цього файлу. Приклад:
<#@ output extension=".extension" [encoding="encoding"] #>
Підтримуються наступні кодування: US-ASCII, UTF-16BE, UTF-16, UTF-8M, UTF-7, UTF-32, 0(Кодування за замовчуванням)
- Директиви зборки(Assembly directive) — Дозволяє додавати посилання на бібліотеки. Приклад:
<#@ assembly name="жорстке ім'я|ім'я файлу" #>
- Директиви імпорту(Import directive) — Дозволяє використовувати доданий простір імен у програмі. Приклад:
<#@ import namespace="простір імен" #>
- Директиви включення(Include directive) — Дозволяє вставляти текст з файлу у шаблон. Файл котрий імпортовано також може містити директиви для імпорту інших файлів. Приклад:
<#@ include file="Ім'я файлу" #>
- Директиви параметрів(Parameter directive) — Дозволяє задати змінну котра буде ініціалізована ззовні. Приклад:
<#@ parameter type="Повний тип змінної" name="Ім'я змінної" #>
Блоки виводяться у вихідний файл без змін.
Програмний код для обробки даних може бутий написаний на мовах C# або Visual Basic і розміщюється у середині скобок(дужок). Код може використовувати будь-які конструкції мов, а також будь-які .NET API. Блоки бувають трьох типів:
- <# Standard control block #> — блок містить будь-який програмний код котрий робить обчислення і вивід, через функції виводу.
- <#= Expression control block #> — блок містить змінні та методи, які щось повертають, значення котрих буде виведене у вихідний файл.
- <#+ Class feature control block #> — блок містить методи, поля, властивості, перерахування(enum) котрі маєть бути реалізовані і можуть бути використані у інших блоках.
- Code Generation and T4 Text Templates [Архівовано 11 січня 2013 у Wayback Machine.] (англ.)
- Опис директив [Архівовано 22 січня 2013 у Wayback Machine.] (англ.)
- Fun with T4 templates and Dynamic Data [Архівовано 21 травня 2012 у Wayback Machine.] (англ.)
- генератор кода в Visual Studio [Архівовано 28 січня 2013 у Wayback Machine.] (рос.)
Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |