Comentarios en T4 Templates


Esto parece una pregunta tan básica, pero no he podido encontrar un artículo de MSDN o una pregunta de StackOverflow que la responda: ¿es posible hacer comentarios de línea o bloquear comentarios en plantillas T4? No estoy buscando generar código con comentarios (eso es fácil y directo), sino comentar bloques de mi marcado T4. Es eso posible?

 46
Author: amoss, 2011-08-23

2 answers

Para incluir comentarios como parte del código de control, deben estar dentro de un bloque de código de algún tipo

<# // Hello this is a comment #> for example

O

<#+ // Hello this is a comment in a class feature block #>

A veces necesitas empujar la etiqueta close a la siguiente línea si eres sensible a nuevas líneas adicionales en la salida.

Si desea comentar bloques enteros de marcado, desafortunadamente no hay una solución sencilla, y el resultado se vuelve bastante feo.

Puedes hacerlo escapando las etiquetas que te gustaría comentar, como entonces:

\<# my control code \#>

Y luego colocarlo dentro de un comentario en otro bloque como así:

<# // \<# my control code \#> #>
 54
Author: GarethJ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-23 22:52:13

La mejor manera de agregar comentario de bloque es usar # if y # endif

<#
   #if false
   foreach(var typeName in typeNames)
   { 
       var className = typeName + "Adapter";
#>
    // ...
<#  
    }
    #endif
#>
 15
Author: engineforce,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-30 00:18:56