È possibile scrivere codice che scrive altro codice. Ci sono cose che non puoi refactoring in una singola posizione, o cose che sono semplicemente più facilmente centralizzate tramite T4 (o qualsiasi generazione di codice).
Potrebbe esserci un codice in cui un driver centrale potrebbe richiedere più file o molto codice in un singolo file da modificare in base a tale.
Un altro modo per fare buon uso di esso ... ho usato un modello T4
per scrivere un # oggetto po 'C che genera un file .sql
, un .xsl
, un file .js
e .cs
. Tutto dal singolo oggetto C# basato su un insieme di regole. Quindi sto generando diversi file utili su un modello C#. Potrei averlo generare il .sql necessario per creare una tabella per contenere quel tipo. a .xsl o .xml per definire i valori di configurazione relativi all'elemento, un file .js per portare un modello fortemente digitato in javascript e infine .cs per il modello attuale in C#.