zoukankan      html  css  js  c++  java
  • CodeSmith 基本语法(二)

    CodeSmith的C#语法与Asp.net MVC2的模板语法很像。

    一、声明

      编写模板代码的第一步是先进行一段声明:

    <%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a class including a special informational header" %>

      以上声明的作用是告诉CodeSmith你的开发语言是C#,生成的目标代码是C#,最后是这个模板的描述信息。

    二、<% %> C#代码

      C#代码写在<% %>标记内。

      示例:

      <% int x = 1; %>

    三、<%=  %> 输出到模板

      要输出到模板的变量值写在<%= %>标记内

      示例:

    <% int x = 1; %>
    <%= x %>
    <%= DateTime.Now.ToShortDateString(); %>

      输出如下:

      

    四、<script></script> 定义方法

      CodeSmith中定义一个方法的方式与C#有点不同,它必须写在<script></script>标记内。

      示例:

    复制代码
      <% int x = 1; %>
      <% int y = 2; %>
      <%= getMax(1,2) %>
      <script runat="template">
      public int getMax(int a, int b)
      {
          return a > b ? a : b;
      }
      </script>
    复制代码

    五、声明外部输入变量

      有些变量,可能我们需要在生成的时候才输入,这个时候就需要声明外部变量了。声明外部变量的语法如下:

    <%@ Property Name="Count" Type="Int32" Default="10" Optional="true" Category="Context" Description="外部输入的变量" %>

      各个属性的说明:

    1. Name:要声明的变量的名字。
    2. Type:要声明的属性的类型。比如(string,Int32等等)。
    3. Category:是说你声明的这个属性的类别(CodeSmith会按分类分开展示让你输入)。
    4. Description:此模板的说明描述。
    5. Default:当外部变量没有输入时,使用的默认值。
    6. Optional:是否允许为空(即不输入)。

      示例:

    <%@ CodeTempLate Language="C#" ResponseEncoding="UTF-8" Description="第一个模板程序" %>
    <%@ Property Name="Count" Type="Int32" Default="10" Optional="true" Category="类别1" Description="外部输入的变量" %>
    <%@ Property Name="类别2说明" Type="Int32" Default="10" Optional="true" Category="类别2" Description="外部输入的变量" %>
    你输入的值是:<%= Count %>

      输入框如下:

      

      输出如下:

      

    出处:http://www.cnblogs.com/kissdodog/archive/2013/04/16/3024368.html

  • 相关阅读:
    laravel 共享session问题总结
    QQ互联登录提示redirect uri is illegal(100010)完美解决方法
    LESS一种 动态 样式 语言.
    Maximum Depth of Binary Tree
    能力工程师什么是你的核心竞争力之三?
    类对象RMI的简单实现
    对象序列化Java中的序列化
    阿尔法状态目睹一个程序员精神失常的经历
    内容文件Java创建TXT文件并进行读、写、修改操作
    原因资料POST gitreceivepack (chunked)
  • 原文地址:https://www.cnblogs.com/mq0036/p/6361846.html
Copyright © 2011-2022 走看看