这看起来像是一个基本问题,但是我找不到能够回答它的MSDN文章或StackOverflow问题:是否可以在T4模板中进行行注释或阻止注释?我不打算生成带注释的代码(这很容易和直接),而是注释掉我的T4标记块。这可能吗?
答案 0 :(得分:58)
要将注释包含在控制代码中,它们需要位于某种代码块中
<# // Hello this is a comment #> for example
或
<#+ // Hello this is a comment in a class feature block #>
如果您对输出中的额外换行敏感,有时需要将关闭标记推送到下一行。
如果你想要注释整个标记块,遗憾的是没有一个简单的解决方案,结果会变得相当丑陋。
您可以通过转义您要评论的标记来执行此操作,如下所示:
\<# my control code \#>
然后将其放在另一个块中的注释中,如下所示:
<# // \<# my control code \#> #>
答案 1 :(得分:15)
添加块注释的最佳方法是使用#if和#endif
<#
#if false
foreach(var typeName in typeNames)
{
var className = typeName + "Adapter";
#>
// ...
<#
}
#endif
#>