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"] #>
Підтримуються наступні кодування: , , UTF-16, , , 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 [ 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.] (рос.)
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Text Template Transformation Toolkit skorocheno T4 shablonno oriyentovanij generator kodu vid kompaniyi Microsoft Vin vklyuchenij u Visual Studio pochinayuchi z versiyi 2008 i dlya Visual Studio 2005 dostupnij yak okremij tulkit T4 maye ASP NET podibnij sintaksis T4 chastiniDirektivi obrobki Processing directives Div takozh Direktiva programuvannya Direktivi kompilyaciyi ta opciyi obrobki dlya blokiv kodu mova programuvannya dlya danih direktiv ce C Isnuyut nastupni tipi direktiv Direktivi shabloniv Template directive Dozvolyaye vstanoviti pravila za yakimi shablon bude obrobleno mozhlive lishe odinichne vikoristannya danoyi direktivi Priklad lt template language VB C compilerOptions opciyi kompilyatoru culture kod kulturi debug true false hostspecific true false trueFromBase inherits im ya klasu vid yakogo vidbuvayetsya nasliduvannya visibility public internal linePragmas true false gt Vihidni direktivi Output directive Dozvolyaye vstanoviti tip vihidnogo fajlu a takozh koduvannya cogo fajlu Priklad lt output extension extension encoding encoding gt Pidtrimuyutsya nastupni koduvannya UTF 16 UTF 32 0 Koduvannya za zamovchuvannyam Direktivi zborki Assembly directive Dozvolyaye dodavati posilannya na biblioteki Priklad lt assembly name zhorstke im ya im ya fajlu gt Direktivi importu Import directive Dozvolyaye vikoristovuvati dodanij prostir imen u programi Priklad lt import namespace prostir imen gt Direktivi vklyuchennya Include directive Dozvolyaye vstavlyati tekst z fajlu u shablon Fajl kotrij importovano takozh mozhe mistiti direktivi dlya importu inshih fajliv Priklad lt include file Im ya fajlu gt Direktivi parametriv Parameter directive Dozvolyaye zadati zminnu kotra bude inicializovana zzovni Priklad lt parameter type Povnij tip zminnoyi name Im ya zminnoyi gt Tekstovi bloki Text blocks Bloki vivodyatsya u vihidnij fajl bez zmin Bloki keruvannya Control blocks Programnij kod dlya obrobki danih mozhe butij napisanij na movah C abo Visual Basic i rozmishyuyetsya u seredini skobok duzhok Kod mozhe vikoristovuvati bud yaki konstrukciyi mov a takozh bud yaki NET API Bloki buvayut troh tipiv lt Standard control block gt blok mistit bud yakij programnij kod kotrij robit obchislennya i vivid cherez funkciyi vivodu lt Expression control block gt blok mistit zminni ta metodi yaki shos povertayut znachennya kotrih bude vivedene u vihidnij fajl lt Class feature control block gt blok mistit metodi polya vlastivosti pererahuvannya enum kotri mayet buti realizovani i mozhut buti vikoristani u inshih blokah PosilannyaCode Generation and T4 Text Templates 11 sichnya 2013 u Wayback Machine angl Opis direktiv 22 sichnya 2013 u Wayback Machine angl Fun with T4 templates and Dynamic Data 21 travnya 2012 u Wayback Machine angl generator koda v Visual Studio 28 sichnya 2013 u Wayback Machine ros Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi