CodeTemplate 指令是範本唯一必要宣告,定義範本語言、目標語言、描述等核心屬性,類似 ASP.NET @Page 指令。
| 參數 | 說明 |
|---|---|
| Language | 撰寫範本使用的語言(C#、VB.NET、JScript 等) |
| TargetLanguage | 產生程式碼的目標語言分類(不影響實際輸出語言),屬於範本屬性 |
| Description | 範本說明,CodeSmith Explorer 選中時顯示 |
| Inherits | 繼承的基底類別,預設 CodeSmith.Engine.CodeTemplate,必須繼承此類別 |
| Src | 動態編譯包含功能的類別檔案(與 Inherits 不同:Src 為原始碼、Inherits 為已編譯組件) |
| Debug | true=包含偵錯符號,可用 System.Diagnostics.Debugger.Break() 設中斷點 |
| LinePragmas | true=錯誤指向範本原始碼、false=指向編譯後原始碼 |
| ResponseEncoding | 輸出檔案編碼,支援 System.Text.Encoding.GetEncoding 所有編碼 |
| OutputType | Normal(預設)/Trace/None(主從範本主模板常用 None) |
| NoWarn | 隱藏特定編譯警告,警告 ID 逗號分隔(C#/VB.NET 適用) |
| ClassName | Code-Behind 對應類別名稱(類似 ASP.NET) |
| Namespace | Code-Behind 對應命名空間 |
| Encoding | 範本檔案本身編碼,預設 UTF-8 |
<%@ CodeTemplate Language="C#" TargetLanguage="C#"
Description="This is a demo template"
Debug="true" LinePragmas="true" %>