1. 程式人生 > >T4模板:T4模板之基礎篇

T4模板:T4模板之基礎篇

教程 添加 介紹 9.png 輸出 com 明顯 gin ecif

一、回顧

上一篇文章 ——T4模板之菜菜鳥篇,我們囫圇吞棗的創建了與“T4模板”有關的文件。在創建各個文件的這一個過程中,我們對於T4模板有了那麽丁點的認識。現在就帶著之前的那些問題,正式的邁入對“T4模板”的學習。

二、概念

2.1、類型

T4 文本模板有兩種類型:

  • 設計時 T4 文本模板
  • 運行時 T4 文本模板

三、簡要教程

我們只講“設計時T4文本模板”,其他的都TMD屬於高級部分了,哥不懂給不給?

打開之前我們創建的“TextTemplate_.tt”文件:

技術分享

很明顯的有一個特征,那麽就是他們都是這種模式:

<#@ 指令 屬性=“#>

就這樣定了,我們按行來學習

3.1、指令:

3.1.1、模板指令

<#@ template debug="false" hostspecific="false" language="C#"#>

說的是這個模板,不可以調試,不提供host這個屬性,用的是C#語言。它的完整模式如下,中括號表示可選,沒有寫它將按照默認處理。

<#@ template [language="VB"] [compilerOptions="options"] [culture="code"] [debug="true"] [hostspecific="true"] [inherits="templateBaseClass"] [visibility="internal"] [linePragmas="false"] #>
3.1.2、程序集指令

<#@ assembly name="System.Core"#> 它的作用類似於在 Visual Studio 項目中添加程序集引用。

3.1.3、導入指令

<#@ import namespace="System.Linq"#> 它等效於 C# 中的 “using System.Linq;”。

3.1.4、輸出指令

<#@ output extension=".txt" #> 它就是告訴你,T4模板最終將生產.txt對應後綴的文件。

3.2、控制塊

不難發現,如上截圖,我們生成的“TextTemplate_.txt”它裏面確實是什麽內容都沒有的。因此,更進一步的學習是“控制塊”,對於不同控制塊的組合,便能生成我們所需要的文件。

技術分享

  • <# 標準控制塊 #> 可以包含語句。

  • <#= 表達式控制塊 #> 可以包含表達式。

  • <#+ 類特征控制塊 #> 可以包含方法、字段和屬性,就像一個類的內部

3.3、心動不如行動

唱首歌吧!“我是一只小小小鳥……”:

技術分享

我是zeje,我們來定義一個變量 string name =“zeje”,再看看效果:

技術分享

哥已經壓抑了很久了,一起來吶喊吧:

技術分享

發泄夠了吧?仔細想想,這個類<#+ 類特征控制塊 #> 還沒用上。好吧,zeje就在這裏自我介紹下吧:

技術分享

既然都自我介紹過了,是不是可以開溜了呢?還是給大家都個紅包吧!(這裏可能需要另外說明,先湊合著看吧!)

技術分享

生成結果如下:

技術分享

本文轉載於:http://www.cnblogs.com/zeje/p/5248340.html

T4模板:T4模板之基礎篇