Artículo
|
Plantillas de Generación de Código(T4): Un Paso Más |
En el artículo anteriorrealizamos una definición de que son las Plantillas de Generación de Código T4, y vimos el lenguaje y directivas que se utilizan para crearlas.
Algunas cosas que podemos destacar dentro de la generación de plantillas:
Son ficheros de Código
Aunque son plantillas de Texto que van a servir para generar otro tipo de ficheros, son ficheros de código dentro de Visual Studio.
Por ello cabe destacar que podemos trabajar como si lo hicieramos dentro de una clase normal. Podemos definir variables, funciones (dentro de bloques )…
Pese a ser ficheros de Código, Visual Studio no los representa coloreados, ni podemos hacer uso del Intellisense. Para resolver estos “problemas”, se puede hacer uso de algunos plugins de Visual Studio que contribuyen a solventarlo:
•Tangible T4 editor.
•Visual T4.
Algunos de estos plugins tienen ediciones gratuitas con funcionalidad limitada, pero simplemente su existencia nos da cierto valor añadido a la hora de definir nuestras plantillas.
Generación de N Ficheros
Sin especificar nada al obtener el código resultante de una plantilla T4, vamos a obtener un único fichero, pero si queremos obtener varios ficheros lo podríamos lograr de una manera relativamente sencilla:
Algunas cosas que podemos destacar dentro de la generación de plantillas:
Son ficheros de Código
Aunque son plantillas de Texto que van a servir para generar otro tipo de ficheros, son ficheros de código dentro de Visual Studio.
Por ello cabe destacar que podemos trabajar como si lo hicieramos dentro de una clase normal. Podemos definir variables, funciones (dentro de bloques )…
Pese a ser ficheros de Código, Visual Studio no los representa coloreados, ni podemos hacer uso del Intellisense. Para resolver estos “problemas”, se puede hacer uso de algunos plugins de Visual Studio que contribuyen a solventarlo:
•Tangible T4 editor.
•Visual T4.
Algunos de estos plugins tienen ediciones gratuitas con funcionalidad limitada, pero simplemente su existencia nos da cierto valor añadido a la hora de definir nuestras plantillas.
Generación de N Ficheros
Sin especificar nada al obtener el código resultante de una plantilla T4, vamos a obtener un único fichero, pero si queremos obtener varios ficheros lo podríamos lograr de una manera relativamente sencilla:
<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ output extension=".cs" #>
<#@ Import Namespace="System.IO" #>
<#
string fichero;
for (int contador = 1; contador <= 5; contador++)
{
#>
using System;
namespace MiNameSpace
{
public class MiClase<#= contador #>
{
//ctor
public void Miclase<#= contador #>()
{
}
}
}
<#
fichero = String.Format(@"{0}MiClase{1}.cs", Path.GetDirectoryName(Host.TemplateFile),contador.ToString());
File.WriteAllText(fichero,this.GenerationEnvironment.ToString());
this.GenerationEnvironment.Clear();
}
#>
El resultado de este proceso será, que en el directorio de nuestro proyecto encontraremos las clases generadas por el código anterior.
En el próximo capítulo, veremos cómo agregar el código generado a través de las plantillas de código con N ficheros, a nuestra solución de Visual Studio gracias al SDK de VS2010.
En el próximo capítulo, veremos cómo agregar el código generado a través de las plantillas de código con N ficheros, a nuestra solución de Visual Studio gracias al SDK de VS2010.
![]() |
Publicado por: Javier Torrecilla |
|
|
Comentarios
Últimas noticias
· factura
Últimos artículos














































