一直以来觉得TT文件很神秘,同事们对它的作用也大加赞赏。今天决定抽点时间了解一下它并偿试做一个简单的TT模板文件,通过Baidu锁定两篇较为适合像我这种从未接触过TT模板文件的菜鸟入门学习的文章:
1.T4模板使用-初探 http://www.cnblogs.com/xuf22/archive/2011/11/06/2238355.html
2.如何使用 VS2010 中的代码生成器 T4 - Text Template Transformation Toolkit http://blog.sina.com.cn/s/blog_54cf61240100wlse.html
实操步骤:
1.新建一个Console应用程序MyTT
2.右击MyTT->添加(D)->新建项(W), 如下图
点击“添加(A)”按钮,系统提示你“运行此文本模板可能损害您的计算机。…”点击“确定”后看到默认情况下这个模板文件中有六行代码并且TextTemplate1.tt文件下面多了一个TextTemplate1.txt的文件,如下图
我们将 <#@ outputextension=".txt" #> 改为<#@output extension=".cs" #>
并加入以几行代码
<# var properties = new string []{"P1", "P2", "P3"}; #>
class MyGeneratedClass {
<#
foreach (string propertyName in properties)
{ #>
privateint <#= propertyName #> = 0;
<# } #>
}
保存,再次出现系统提示你“运行此文本模板可能损害您的计算机。…”点击“确定”这时你会发现TextTemplate1.txt不见了,取而代之的是一个TextTemplate1.cs文件, 如下图
这时你双击“TextTemplate1.cs”打开,TextTemplate1.cs文件已自动生成以下内容,如图
class MyGeneratedClass{
privateintP1 = 0;
privateintP2 = 0;
privateintP3 = 0;
}
如此神奇的效果归功于TextTransform.exe(T4引擎的核心工具)。T4在很多地方用到,DataEntity Model就是用T4来完成的。在DataEntity Model中打开.tt文件,看到的就是T4引擎脚本,如果要修改DataEntity生成的类,可以通过修改.tt模板来修改。CodePlex上有一个名为”T4 TollBox“的项目,预先写好了常用的模板。
(完)