首页 > 代码库 > 动软代码生成器--模板开发学习

动软代码生成器--模板开发学习

今天看了动软的在线帮助,现在把模板开发教程部分写出来,以方便日后的查询,希望也能帮助到其他人。文章只是把在线帮助的复制了过来,调整了一下格式。

模板的大体分为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 指令后跟普通文本块和标准控制块,也可以包含编写有类功能块 <#+...#> 的文件。

代码语句块

动软代码生成器--模板开发学习