Text Template Transformation Toolkit

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Text Template Transformation Toolkit (скорочено T4) — шаблонно орієнтований генератор коду від компанії Microsoft. Він включений у Visual Studio починаючи з версії 2008 і для Visual Studio 2005 доступний як окремий тулкіт. T4 має ASP.NET подібний синтаксис.

T4 частини[ред. | ред. код]

Директиви обробки (Processing directives)[ред. | ред. код]

Директиви компіляції та опції обробки для блоків коду, мова програмування для даних директив це 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="Ім'я змінної" #>

Текстові блоки(Text blocks)[ред. | ред. код]

Блоки виводяться у вихідний файл без змін.

Блоки керування(Control blocks)[ред. | ред. код]

Програмний код для обробки даних може бутий написаний на мовах C# або Visual Basic і розміщюється у середині скобок(дужок). Код може використовувати будь-які конструкції мов, а також будь-які .NET API. Блоки бувають трьох типів:

  • <# Standard control block #> — блок містить будь-який програмний код котрий робить обчислення і вивід, через функції виводу.
  • <#= Expression control block #> — блок містить змінні та методи, які щось повертають, значення котрих буде виведене у вихідний файл.
  • <#+ Class feature control block #> — блок містить методи, поля, властивості, перерахування(enum) котрі маєть бути реалізовані і можуть бути використані у інших блоках.


Посилання[ред. | ред. код]