T4标记语法含义?

时间:2012-08-20 13:46:30

标签: asp.net c#-4.0 t4

在ASP.NET(*.aspx*.tt)中,以下标记的含义是什么:<#= #> <# #> <#+ #>

1 个答案:

答案 0 :(得分:6)

您在问题中描述的标记与ASP.NET无关。它们是T4模板标记语法的示例。 T4模板在Visual Studio中进行转换,可用于创建任何类型的文件although most commonly they are used for code generation

<#= #>执行标记中的代码并返回文本结果。例如:

// in this example, TargetNamespace is set to "MuhNamespace"
namespace <#= this.TargetNamespace #> { // outputs: namespace MuhNamespace

<# #>执行代码但返回void。示例:

This collection contains the following foos:
<#foreach(var foo in bar){ #>
    <#= foo.Name + Environment.NewLine #>
<# } #>

<#+ #>定义可在模板中调用的可重用方法。例如,

This collection contains the following types:
<#foreach(var foo in bar){ #>
    <#= GetType(foo) #>
<# } #>

<#+  public string GetType(foo){ return foo.GetType().FullName; } #>

还有更多这些例子can be found here.