Cet article fait suite à l'article "T4 Template (Partie 1/2)". Dans cette seconde partie d'article, nous allons voir quelques exemples de script permettant différents types de génération de fichier.
Créer un template de génération de fichier :
Dans ce premier exemple, nous allons simplement faire générer un fichier HTML, nous utiliserons la balise <#= System.DateTime.Now.ToString() #>
afin de générer la date du jour au sein de notre fichier HTML pour rendre notre fichier dynamique.
Code du fichier T4 :
Résultat :
Créer un template de génération de fichiers :
Dans le premier exemple nous avons vu comment générer un premier fichier HTML, dans ce deuxième exemple nous allons voir comment générer plusieurs fichiers à l'aide d'un seul template ainsi que l'utilisation de fonction.
Code du fichier T4 :
Résultat :
Nous nous retrouvons avec deux fichiers générés, par contre la solution n'est pas totalement satisfaisante car nous conservons un fichier "Générer" associé à notre template, de plus les fichiers générés ne sont pas associés au projet.
Créer un template de génération de fichiers attachés à notre solution :
Dans ce troisième exemple nous allons voir comment inclure des templates externe ainsi qu'une méthode pour attacher les fichiers à la solution.
Pour se faire nous utiliserons le script MultiOutput.tt (librement téléchargeable à cette adresse : http://www.olegsych.com/2008/03/how-to-generate-multiple-outputs-from-single-t4-template/) que nous inclurons dans notre script de génération. Ce script met à disposition des fonctions permettant la génération de fichiers ainsi que leur attachement au projet actif.
Code du fichier T4 :
Résultat :
Cette fois-ci les fichiers générés font partie de la solution. Cette différence est très importante en effet dans le cas de la génération de fichiers vb ou cs, ceux-ci devront être attachés à la solution pour être compilés ; car devoir contrôler les attachements à chaque génération peut être un travail fastidieux.
Comme on a pu le voir durant ces deux articles et au travers de ces quelques exemples, les possibilités apportées par T4 Template sont nombreuses et permettent une grande souplesse dans la génération de fichiers ou de code. Libre à vous maintenant de manipuler les templates T4 en introduisant par exemple une connexion sur une base de données afin de générer l'ensemble des fichiers DTO d'une DAL.