首页 > 代码库 > 动软代码生成器--模板开发学习
动软代码生成器--模板开发学习
今天看了动软的在线帮助,现在把模板开发教程部分写出来,以方便日后的查询,希望也能帮助到其他人。文章只是把在线帮助的复制了过来,调整了一下格式。
模板的大体分为5部分:
- 模板指令块声明
- 代码语句块
- 表达式块
- 类功能控制块
- 文本块输出
以下对每一部分进行讲解:
模板指令块声明
和ASP.NET页面的指令一样,它们出现在文件头,通过<#@…#>表示。
1.模板指令
以<#@ template …#>表示,是必须的部分,用于定义模板的基本属性。
指令格式:
<#@ template [language="VB"] [hostspecific="true"] [debug="true"] [inherits="templateBaseClass"] [culture="code"] [compilerOptions="options"] #>
Language: 这里可以指定模板使用的语言。
hostSpecific="true" 表示是否使用特定的host,host里面包含了模板使用的各种对象。
例如:
<#@ template language="c#" HostSpecific="True" #>
注意:
所有属性值必须用双引号都括起来。如果值本身包含引号,则必须使用 \ 字符对这些引号进行转义。 指令通常是模板文件或包含的文件中的第一个元素。
2.参数指令
以<#@ patameter …#>表示
指令格式:
<#@ parameter type="Full.TypeName" name="ParameterName" #>
3.输出指令
以<#@ output …#>表示
指令格式:
<#@ output extension=".fileNameExtension" encoding="encoding" #>
extension=".cs" 指定生成文件的扩展名。
encoding="encoding" 指定生成文件的编码。
4.程序集指令
以<#@ assembly ...#>表示,用于添加程序集引用,如果要使用第三方程序集,那么最好在项目中添加引用。
例如:
<#@ assembly name="System.Data" #>
注:您应使用绝对路径的名称,或者路径名称中使用标准的宏的名称。
例如:
<#@ assembly name="$(SolutionDir)library\MyAssembly.dll" #>
5.导入指令
以<#@ import …#>表示,导入要使用的命名空间。
注意:
这里的命名空间必须要在前面指定的程序集里面找得到的,比如我指定命名空间"System.Data","System.Data.Common",这些在程序集System.Data中都有的。
例如:
<#@ import namespace="System.Data" #>
6.包含指令
以<#@ include …#>表示,导入模板,类似Html的include用法,include 指令插入其他模板文件的文本。
例如:
<#@ include file="test.tt" #>
<#@ include file="c:\test.txt" #>
在处理时,被包含内容就像是包含文本模板的组成部分一样。 不过,即使 include 指令后跟普通文本块和标准控制块,也可以包含编写有类功能块 <#+...#> 的文件。
代码语句块
动软代码生成器--模板开发学习