我正在深入研究重复编码任务的代码生成,并且已经看到了这两种方法。我已经在Apress书籍Code Generation in Microsoft .Net中看到了XSLT方法,并且已经阅读了与MVC框架中的新内容相关的T4方法。
每种方法更适合哪种项目?快速浏览一下,告诉我T4是一个更轻量级的系统,是真的吗?
非常感谢......
答案 0 :(得分:7)
是的 - T4是一种基于模板的方法,可以从各种来源获取信息 - 通常来自数据库(表格或系统目录)。
T4内置于VS 2008中 - 你可以在VS2008中定义一个.tt文件,让它在VS内部生成输出。
XSLT有一个要求 - 输入必须是XML,而XSLT本身也是XML,因此存在许多挑战和可能的缺点。
XSLT是独立的 - 您可以安装和使用任意数量的XSL引擎。
总而言之:T4对我来说更像是一个“内部VS”代码生成工具(用于快速创建C#或其他文件),而XSLT更像是一个数据处理/数据转换工具来转换数据XML转换为另一种格式(通常是使用XSL-FO的HTML或PDF)。
马克