テンプレートの書き方
テンプレートの書き方について見ていきましょう。
T4 Templateのコード
(1)ディレクティブの記述
(2)ロジック
(3)出力
(4)関数
T4では<# ~ #>で囲まれた部分が特別な意味を持ち、それ以外の文字はそのまま出力されます。
ディレクティブの記法
(1)の<#@ ~ #>で囲まれた部分はディレクティブと呼ばれます。ディレクティブではテンプレートの設定を行います。設定しない場合はデフォルト値で動作します。
ディレクティブの種類と概要
種類 | 概要 | 記述例 |
---|---|---|
assembly | 参照するアセンブリの設定 | |
import | 使用する名前空間の設定 | |
template | テンプレートの処理方法 | (デフォルトlanguageはcs) |
output | 出力形式の設定 | (デフォルトはcs) |
include | テンプレートファイルの読み込み |
ディレクティブの詳細についてはMSDNのページをご覧ください。
本体の記法
(2)の<# ~ #>で囲まれた部分には実行するプログラム(デフォルトはC#)を記述できます。ここでは、変数を宣言しています。IF文、ループ文、.NETのライブラリ等も利用できます。
(3)の<#= ~ #>で囲まれた部分では変数を出力できます。<# Write(~); #>と書いても同じです。
(4)の<#+ ~ #>で囲まれた部分にはクラスやメソッドといった部品を定義できます。呼び出さない限り実行されません。
T4のデバッグ
テンプレートは一旦プログラムに変換されます。<#@ template debug="true" #>ディレクティブを設定しておけば、TEMPフォルダ(D:\Users\<ユーザ名>\AppData\Local\Temp等)にファイルを出力できます。この内容を見ることでテンプレートの変換内容を把握することができます。