激情小说强奸乱伦亚洲色图_欧美xxxx性受黑人xyx性爽_国产www亚洲а∨天堂一区_日本无码线亚洲中文精品_国产女厕所盗摄老师厕所嘘嘘_香蕉视频在线观看亚洲_久久国产亚洲AV无码麻软件_18禁白浆欧美一区二区三区_国产午夜av无码无片久久96_国产成人精品福利视频

27
18911184380
當(dāng)前位置:首頁 > 資訊 > 建站知識(shí)

[北京網(wǎng)站制作].NET程序員不要錯(cuò)過如此強(qiáng)大的T4模板

2011-10-20 酷站科技

功能齊全的T4文字模板

期待您最少能意識(shí)到即便有編碼全自動(dòng)制作器,但數(shù)據(jù)庫查詢構(gòu)造變動(dòng)等要素也會(huì)讓我們產(chǎn)生許多 的不便。這類立即放進(jìn)新項(xiàng)目里.tt文檔的益處當(dāng)然無需多講過。有尤其的業(yè)務(wù)流程要求,在.用partial類來完成,以防模版文檔自動(dòng)升級(jí)編碼時(shí)將筆寫的編碼遮蓋掉。(北京市網(wǎng)站制作)

T4文字模板究竟有什么作用?什么時(shí)候用?

看一下下邊這一實(shí)例你應(yīng)該便會(huì)懂了:

在建一個(gè)控制面板程序運(yùn)行,刪掉里邊的全部文檔,在建一個(gè)Program.tt的文檔,并鍵入以下內(nèi)容:


 
  1. <#@ template language="C#"debug="true"#> 
  2. <#@ output extension=".cs"encoding="utf-8"#> 
  3. <#  
  4. stringClassName = "Program";  
  5. #>stringClassName = "Program";  
  6. #> 
  7. namespaceHelloAngel  
  8. {  
  9. usingSystem;  
  10. class<#=ClassName #> 
  11. {  
  12. staticvoidMain(string[] args)  
  13.  {  
  14. Console.WriteLine("Hello Angel");  
  15. }  
  16. }  

儲(chǔ)存后大家會(huì)見到解決方法任務(wù)管理器中是這一款式的:

這時(shí)的Program.cs文件更是大家的Program.tt文檔轉(zhuǎn)化成的,其內(nèi)容以下:

  1. namespaceHelloAngel  
  2. {  
  3. usingSystem;  
  4. classProgram  
  5. {  
  6. staticvoidMain(string[] args)  
  7. {  
  8. Console.WriteLine("Hello Angel");  
  9. }  
  10. }  

看一下下邊2個(gè)命令:

  1. <#@ template language="C#"debug="true"#> 
  2. <#@ output extension=".cs"encoding="utf-8"#> 

<#@ template #>命令中l(wèi)anguage特定了大家模版運(yùn)作應(yīng)用的語言,能夠 是VB,或C#,debug申明了是不是應(yīng)用調(diào)節(jié),假如用不上調(diào)節(jié),能夠 設(shè)定為false.

<#@ output #>命令中extension特定了輸出文檔的后綴名,encoding特定輸出文檔的編碼方案。

換句話說,我們可以應(yīng)用C#語言來寫此模版文檔中的邏輯性,模版可能輸出一個(gè)與模版文件夾名稱同樣,拓展名叫.cs編號(hào)為utf-8的文檔。

這兒稍加掌握下,接下去看一下命令的英語的語法吧:

命令的英語的語法以下所顯示:

  1. <#@ DirectiveName [AttributeName = "AttributeValue"] ... #> 

務(wù)必將全部特點(diǎn)值放到雙引號(hào)內(nèi)。假如值自身包括冒號(hào),則務(wù)必應(yīng)用 標(biāo)識(shí)符對(duì)這種冒號(hào)開展轉(zhuǎn)義。

命令一般是模版文檔或包括的文檔中的第一個(gè)原素。不可將他們置放在代碼塊 <#...#> 內(nèi),都不應(yīng)置放在類功能塊 <# ...#> 以后。

T4 模版命令

<#@ template [language="VB"] [hostspecific="true"] [debug="true"] [inherits="templateBaseClass"] [culture="code"] [compilerOptions="options"] #>

T4 主要參數(shù)命令

<#@ parameter type="Full.TypeName"name="ParameterName"#>

T4 輸出命令

<#@ output extension=".fileNameExtension"[encoding="encoding"] #>

T4 程序流程集命令

<#@ assembly name="[assembly strong name|assembly file name]"#>

T4 導(dǎo)進(jìn)命令

<#@ import namespace="namespace"#>

T4 包括命令

<#@ include file="filePath"#>

看過上邊的命令后,就嘗試寫個(gè)模版文檔轉(zhuǎn)化成一些類來訓(xùn)練一下吧:

  1. <#@ template language="C#"debug="true"#> 
  2. <#@ output extension=".cs"encoding="utf-8"#> 
  3. <#@ import namespace="System.Collections.Generic"#> 
  4. <#  
  5. List<List<string>classNames =  
  6. new List<string>()  
  7. {  
  8. "Hello",  
  9. "Test"  
  10. };  
  11. List<string>callMethods = new List<string>();  
  12.  #> 
  13. namespace HelloAngel  
  14.  {  
  15. using System;  
  16. <#  
  17. foreach (string className in classNames)  
  18. {  
  19. callMethods.Add(string.Format("{0}.Show();", className));  
  20. #>foreach (string className in classNames)  
  21. {  
  22. callMethods.Add(string.Format("{0}.Show();", className));  
  23. #> 
  24. class <#=className #> 
  25. {  
  26. /// <summary> 
  27. /// <#=className #>的注解  
  28. /// </summary> 
  29. public static void Show()  
  30. {  
  31. Console.WriteLine("ClassName:<#=className #>");  
  32. }  
  33. }  
  34. <#  
  35. #>}  
  36. #> 
  37. class Program  
  38. {   ;
  39. /// <summary> 
  40. /// 通道方式 的注解  
  41. /// </summary> 
  42. static void Main(string[] args)  
  43. {  
  44. <#  
  45. foreach (string callMethod in callMethods)  
  46. {  
  47. #>foreach (string callMethod in callMethods)  
  48. {  
  49. #> 
  50. // <#=callMethod #>啟用  
  51. <#=callMethod #> 
  52.  <#  
  53. }  
  54. #>}  
  55. #> 
  56. }  
  57. }  

大家一般的新項(xiàng)目多是分了簡(jiǎn)易三層,擁有上邊的一些工作經(jīng)驗(yàn),你應(yīng)該會(huì)想。如果只寫三個(gè)類.tt文檔,就能全自動(dòng)讓我們把全部三層維護(hù)保養(yǎng)好哪么多令人激動(dòng)啊!的確,我是這樣的人干了一個(gè)新項(xiàng)目給大伙兒共享一下:

看一下如今全部新項(xiàng)目成什么樣子了:

這兒不僅三個(gè)新項(xiàng)目了。你加了個(gè)UnitTest的新項(xiàng)目,一個(gè)Adapters的新項(xiàng)目,看項(xiàng)目規(guī)劃可以看出來,UnitTest新項(xiàng)目便是一個(gè)測(cè)試報(bào)告。而Adapters新項(xiàng)目呢,是實(shí)體線電源適配器新項(xiàng)目。先無論他們了。

就那么點(diǎn)物品,早已進(jìn)行三層的搭建了,僅僅還是Paramter方法的。沒有對(duì)存儲(chǔ)過程的適用。十一要是沒有人陪著我過得話,我能將對(duì)存儲(chǔ)過程的適用加上上來。

建新項(xiàng)目的情況下建的是.net 4的,這兒我將它改成.net2.0的了。但是自己只配有visual stuido 2010,假如您應(yīng)用的是Visual studio 2008請(qǐng)您自主將新項(xiàng)目文檔中的版本信息更改,此方式 在網(wǎng)上有很多。我不多嘮叨了。

標(biāo)識(shí):北京市網(wǎng)站制作 高檔網(wǎng)站建設(shè)

來源于申明:以上內(nèi)容一部分(包括照片、文本)來自互聯(lián)網(wǎng),若有侵權(quán)行為,請(qǐng)立即與本網(wǎng)站聯(lián)絡(luò)(010-57218159)。
如沒特殊注明,文章均為酷站科技原創(chuàng),轉(zhuǎn)載請(qǐng)注明來自http://www.ttscar.com.cn/jianzhanzhishi/3352.html
聯(lián)系專業(yè)的商務(wù)顧問,制定方案,專業(yè)設(shè)計(jì),一對(duì)一咨詢及其報(bào)價(jià)詳情
服務(wù)熱線服務(wù)熱線 18911184380
聯(lián)系我們 contact us
18911184380
0531-88903031 — 濟(jì)南分部

+

酷站科技為你提供上門/網(wǎng)站策略方案

留下聯(lián)系方式,我們將會(huì)在一個(gè)工作日內(nèi)與你聯(lián)系

隱私條款信息保護(hù)中,請(qǐng)放心填寫