CodeSmith 基本语法
Posted jack_孟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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="外部输入的变量" %>
各个属性的说明:
- Name:要声明的变量的名字。
- Type:要声明的属性的类型。比如(string,Int32等等)。
- Category:是说你声明的这个属性的类别(CodeSmith会按分类分开展示让你输入)。
- Description:此模板的说明描述。
- Default:当外部变量没有输入时,使用的默认值。
- 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
以上是关于CodeSmith 基本语法的主要内容,如果未能解决你的问题,请参考以下文章