【问题标题】:Comments in T4 TemplatesT4 模板中的注释
【发布时间】:2011-08-23 15:04:24
【问题描述】:

这似乎是一个基本问题,但我一直无法找到 MSDN 文章或 StackOverflow 问题来回答它:是否可以在 T4 模板中制作行 cmets 或阻止 cmets?我不希望使用 cmets 生成代码(这很简单直接),而是注释掉我的 T4 标记块。这可能吗?

【问题讨论】:

  • FWIW,在我看来,标题和 OP 完美匹配,似乎是一个相当明显的问题等待被问。

标签: comments t4


【解决方案1】:

要将 cmets 作为控制代码的一部分,它们需要位于某种代码块中,例如

<# // Hello this is a comment #>

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

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

如果你想注释掉整块标记,不幸的是没有一个简单的解决方案,结果变得相当丑陋。

您可以通过转义您想要评论的标签来做到这一点,如下所示:

\<# my control code \#>

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

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

【讨论】:

  • T4 编辑器似乎更喜欢&lt;# /* ... */ #&gt; 语法——至少在高亮方面。
  • 我找到的关于评论 T4 模板的最佳文档。谢谢!
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2011-02-14
    • 1970-01-01
    • 2012-04-13
    • 2011-04-07
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    相关资源
    最近更新 更多