日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

[轉(zhuǎn)] T4模板基礎(chǔ)

 johnny_net 2019-10-07

一、回顧

上一篇文章 ——T4模板之菜菜鳥篇,我們囫圇吞棗的創(chuàng)建了與“T4模板”有關(guān)的文件。在創(chuàng)建各個文件的這一個過程中,我們對于T4模板有了那么丁點(diǎn)的認(rèn)識。現(xiàn)在就帶著之前的那些問題,正式的邁入對“T4模板”的學(xué)習(xí)。

二、概念

2.1、類型

T4 文本模板有兩種類型:

  • 設(shè)計時 T4 文本模板

  • 運(yùn)行時 T4 文本模板

三、簡要教程

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

打開之前我們創(chuàng)建的“TextTemplate_.tt”文件:


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

<#@ 指令 屬性=“#>

就這樣定了,我們按行來學(xué)習(xí)

3.1、指令:

3.1.1、模板指令

<#@ template debug="falsehostspecific="falselanguage="C#"#> 

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

<#@ 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 項(xiàng)目中添加程序集引用。

3.1.3、導(dǎo)入指令

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

3.1.4、輸出指令

<#@ output extension=".txt#>   它就是告訴你,T4模板最終將生產(chǎn).txt對應(yīng)后綴的文件。

3.2、控制塊

不難發(fā)現(xiàn),如上截圖,我們生成的“TextTemplate_.txt”它里面確實(shí)是什么內(nèi)容都沒有的。因此,更進(jìn)一步的學(xué)習(xí)是“控制塊”,對于不同控制塊的組合,便能生成我們所需要的文件。


  • <# 標(biāo)準(zhǔn)控制塊 #> 可以包含語句。

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

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

3.3、心動不如行動

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


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


哥已經(jīng)壓抑了很久了,一起來吶喊吧:


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


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


生成結(jié)果如下:


上面涉及到額外的知識點(diǎn):使用T4模板輸出多文件,請自行學(xué)習(xí)。

四、高級篇

其實(shí)對于“T4模板”的學(xué)習(xí),講得最詳細(xì)的還是MSDN,下面給出對應(yīng)的鏈接,可以點(diǎn)開深入的了解。


原文地址:http://www.cnblogs.com/zeje/p/5248340.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多