DCG v1.4.1.1

来源:互联网 发布:java获取今年的第一天 编辑:程序博客网 时间:2024/04/27 17:00

几乎DCG的每一次升级都是为了带给最终用户更方便的使用,这一次也不例外。那么这次DCG又带来了什么创新呢?让我们来看看,DCG的变动如下:

  1. 添加了变动保留功能。代码生成器的优点是省时省力功能强,所以我们选择它,但代码生成器却也不是没有缺点的,它的缺点也很大,那就是每次输出都会将上一次输出后的变动冲掉,这使我们使用者很伤脑筋,也正是这一点让我们不太敢使用代码生成器生成第二遍。为了克服以上原因,作者再次升级DCG,扩展了它的功能,通过在输出文件保留信息的方式使之能再次生成时保留修改。示例如下:

    <%@ Template Language="vb" %>
    <%@ Parameter Name="ns" DataType="String" %>
    <%@ Parameter Name="oldFilePath" DataType="String" %>
    <% DCG.ReservedSpace.BeginSymbol = "/*+*/" %>
    <% DCG.ReservedSpace.EndSymbol = "/*-*/" %>
    <% DCG.ReservedSpace.OldFilePath = oldFilePath %>
    <% DCG.ReservedSpace.GenerateDefaultValue = (DCG.ReservedSpace.OldFilePath Is Nothing) %>
    namespace <%=ns%> {
       public <%-sealed-%> class Base {
          public void DoSomething() {
    <%-
    //TODO
             <%"algo"%%>
    -%>
          }
       }
    }

    通过DCG.ReservedSpace来设置变动保留功能,保留空间在模板中的语法为<%-reserved space-%>,其中reserved space为默认值,也就是,当DCG.ReservedSpace.GenerateDefaultValue为真时会输出默认值,当其为假时会输出空白或者上一次的修改。

  2. %>字符串在标签中的输出。在以前的版本中,想在一个标签中(<% %> <%= %>等)输出%>不是一件容易的事,因为它代表着一个标签的结束,但现在通过在标签中用%%>来代表的%>的方式就可以输出%>了。同样在标签外想输出<%要用<%%来代替。

以上为所有的DCG版本1.4.1.1的变动,完全向下兼容。

原创粉丝点击