T4模板中的注释

这似乎是这样一个基本的问题,但我一直没能find一个MSDN文章或StackOverflow的问题,回答它:是否有可能在T4模板中的行注释或块注释? 我不想用注释生成代码(这很容易,直接),而是注释掉我的T4标记块。 那可能吗?

要包含注释作为控制代码的一部分,他们需要在某种代码块内

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

要么

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

如果您对输出中额外的换行符敏感,有时候需要将close标签推到下一行。

如果你想评论整块的标记,不幸的是没有一个简单的解决scheme,结果变得相当丑陋。

您可以通过转义您想要评论的代码来实现,如下所示:

 \<# my control code \#> 

然后将其放在另一个块的注释中,如下所示:

 <# // \<# my control code \#> #> 

添加块注释的最好方法是使用#if和#endif

 <# #if false foreach(var typeName in typeNames) { var className = typeName + "Adapter"; #> // ... <# } #endif #>