CodeSmith 基本語法(二)

 

CodeSmith的C#語法與Asp.net MVC2的模板語法很像。html

1、聲明

  編寫模板代碼的第一步是先進行一段聲明:post

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

  以上聲明的做用是告訴CodeSmith你的開發語言是C#,生成的目標代碼是C#,最後是這個模板的描述信息。this

2、<% %> C#代碼

  C#代碼寫在<% %>標記內。spa

  示例:.net

  <% int x = 1; %>

3、<%=  %> 輸出到模板

  要輸出到模板的變量值寫在<%= %>標記內code

  示例:orm

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

  輸出以下:htm

  

4、<script></script> 定義方法

  CodeSmith中定義一個方法的方式與C#有點不一樣,它必須寫在<script></script>標記內。blog

  示例:ip

複製代碼
  <% 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>
複製代碼

5、聲明外部輸入變量

  有些變量,可能咱們須要在生成的時候才輸入,這個時候就須要聲明外部變量了。聲明外部變量的語法以下:

<%@ 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

相關文章
相關標籤/搜索