几乎DCG的每一次升级都是为了带给最终用户更方便的使用,这一次也不例外。那么这次DCG又带来了什么创新呢?让我们来看看,DCG的变动如下:
添加了变动保留功能 。代码生成器的优点是省时省力功能强,所以我们选择它,但代码生成器却也不是没有缺点的,它的缺点也很大,那就是每次输出都会将上一次输出后的变动冲掉,这使我们使用者很伤脑筋,也正是这一点让我们不太敢使用代码生成器生成第二遍。为了克服以上原因,作者再次升级DCG,扩展了它的功能,通过在输出文件保留信息的方式使之能再次生成时保留修改。示例如下:
@ Template Language="vb"
1 ```
2@ Parameter Name="ns" DataType="String"
```
@ Parameter Name="oldFilePath" DataType="String"
1
2 ```
3 DCG.ReservedSpace.BeginSymbol = "/*+*/"
```
DCG.ReservedSpace.EndSymbol = "/-/"
1 ```
2 DCG.ReservedSpace.OldFilePath = oldFilePath
```
DCG.ReservedSpace.GenerateDefaultValue = (DCG.ReservedSpace.OldFilePath Is Nothing)
1 namespace ```
2=ns
3``` {
4 public ```
5-virtual-
6``` class Base {
7 public void DoSomething() {
8 ```
9-
10 //TODO
11 <%"algo"%
-%>
}
}
}
通过DCG.ReservedSpace来设置变动保留功能,保留空间在模板中的语法为```
- reserved space -
1
2 2. **% >字符串在标签中的输出 ** 。在以前的版本中,想在一个标签中(```
3
4``` ```
5=
6```等)输出%>不是一件容易的事,因为它代表着一个标签的结束,但现在通过在标签中用%%>来代表的%>的方式就可以输出%>了。同样在标签外想输出<%要用<%%来代替。
7
8
9
10
11以上为所有的DCG版本1.4.1.1的变动,完全向下兼容。