Text Template Transformation Toolkit
Зовнішній вигляд
text
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) котрі маєть бути реалізовані і можуть бути використані у інших блоках.
Посилання
- Code Generation and T4 Text Templates (англ.)
- Опис директив (англ.)
- Fun with T4 templates and Dynamic Data (англ.)
- генератор кода в Visual Studio (рос.)
![]() |
Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |