-3

ASP.NET(*.aspxおよび*.tt)では、次のマークアップの意味は何<#= #> <# #> <#+ #>ですか?

4

1 に答える 1

6

質問で説明するマークアップは、ASP.NETとは何の関係もありません。これらは、T4テンプレートマークアップ構文の例です。T4テンプレートはVisualStudio内で変換され、あらゆるタイプのファイルを作成するために使用できますが、最も一般的にはコード生成に使用されます

<#= #>マークアップ内のコードを実行し、テキスト結果を返します。例:

// 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; } #>

これらも他にもありますが、その例はここにあります。

于 2012-08-20T13:56:51.940 に答える