Microsoft Domain-Specific 语言工具提供了从模型中表示的数据生成代码、文档、配置文件和其他项目的强大方法。 使用 Domain-Specific 语言工具,可以创建一组表示数据的类,并且可以在名称和属性反映该数据的类中编写文本模板。
例如,Fabrikam 具有客户名称和电子邮件地址的 XML 文件。 他们的开发人员创建一个模型,其中 Customer 是一个类,其属性名称和电子邮件。 他们编写多个文本模板来处理数据,包括此片段,该片段将生成所有客户的表作为 HTML 页面的一部分:
<table>
<# foreach (Customer c in ContactList) { #>
<tr><td> <#= c.FullName #> </td>
<td> <#= c.EmailAddress #> </td> </tr>
<# } #> </table>
处理客户数据库时,XML 文件将读取到模型存储中。 使用 Domain-Specific 语言工具创建的 指令处理器使 Customer 类可供文本模板中的代码使用。 许多文本模板可以针对同一存储运行。
文本模板对于 Domain-Specific 语言工具至关重要。 它们用于生成域模型元素的源代码,以及用于将工具与 Visual Studio 集成的 VSPackage 和控件。
本部分讨论创建、修改和调试 Domain-Specific 语言工具中使用的文本模板的一些方法。
本节中
从文本模板访问模型
提供有关在文本模板中引用特定于域的语言的基本信息。
演练:调试访问模型的文本模板
介绍如何对引用域特定语言的文本模板进行故障排除和调试。
演示指南:将主机连接到生成的指令处理器
介绍如何将自定义主机连接到生成的指令处理器。
DslTextTransform 命令
描述在命令行上为引用域特定语言的文本模板执行 TextTransform 可执行文件的命令文件。
Reference
编写 T4 文本模板
提供文本模板指令和控制块的语法。
相关内容
-
使用 T4 文本模板进行设计时代码生成
说明文本模板转换过程。 -
生成过程中的代码生成
如果要在生成服务器上从 DSL 生成文件,请阅读本主题。