T4中的<#标签和<#+标签之间有什么区别?

最佳答案

The docs解释:

标准控制块
标准控制块是生成部分输出文件的一部分程序代码。
您可以在模板文件中混合使用任意数量的文本块和标准控制块。但是,您不能将一个控制块放置在另一个控制块内。每个标准控制块均由符号<# ... #>界定。
...
类特征控制块
类功能控制块定义了属性,方法或不应包含在主变换中的任何其他代码。类功能块通常用于辅助功能。通常,类功能块放置在单独的文件中,以便多个文本模板可以包含它们。
类特征控制块由符号<#+ ... #>分隔
例如,以下模板文件声明并使用一个方法:

<#@ output extension=".txt" #>
Squares:
<#
    for(int i = 0; i < 4; i++)
    {
#>
    The square of <#= i #> is <#= Square(i+1) #>.
<#
    }
#>
That is the end of the list.
<#+   // Start of class feature block
private int Square(int i)
{
    return i*i;
}
#>

关于.net - T4中的<#和<#+有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3384760/

10-10 01:28
查看更多