在项目里添加控制器和视图时,ASP.NET MVC使用T4(文本模板转换工具箱,Text Template Transformation Toolkit)来生成代码。T4是一个高度定制化的,基于模板的文本生成器。
Scott Guthrie之前所宣布的ASP.NET MVC的功能之一就是使用T4来生成代码。代码由T4引擎基于文本模板生成。这意味着任何人可以创建或修改这样的模板,对生成的代码进行完全的控制。
一个T4模板结合了纯文本块和逻辑控制,看上去和其他Web Form页面十分接近。Abhishek Mishra给出了一个编辑模板的详细示例。
在Visual Studio中编辑T4模板无法得到智能感知支持,但是Clarius Consulting提供了一个T4编辑器社区版,可以与VS集成并提供语法高亮效果。他们同时提供了专业版,包括真正的智能感知支持;以及T4代码生成器版本,支持自定义的T4托管环境(WSSF,ASP.NET MVC)、Server Explorer集成、XML和XSD文件的拖拽、友好的数据库元数据获取API等其他功能。
T4可用于自动生成任何类型和目的文本文件。Scott Hanselman给出了一个示例:使用模板来生成LINQ to SQL代码。Scott建议使用T4来完成各种重复性的文本生成任务,即便它们与.NET无关:“如果您在公司里要把同一件事手动重复多遍,那么就让它自动生成吧。”
【编辑推荐】