CodeSmith的C#語法與Asp.net MVC2的模板語法很像。html
編寫模板代碼的第一步是先進行一段聲明:post
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a class including a special informational header" %>
以上聲明的做用是告訴CodeSmith你的開發語言是C#,生成的目標代碼是C#,最後是這個模板的描述信息。this
C#代碼寫在<% %>標記內。spa
示例:.net
<% int x = 1; %>
要輸出到模板的變量值寫在<%= %>標記內code
示例:orm
<% int x = 1; %> <%= x %> <%= DateTime.Now.ToShortDateString(); %>
輸出以下:htm
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>
有些變量,可能咱們須要在生成的時候才輸入,這個時候就須要聲明外部變量了。聲明外部變量的語法以下:
<%@ Property Name="Count" Type="Int32" Default="10" Optional="true" Category="Context" Description="外部輸入的變量" %>
各個屬性的說明:
示例:
<%@ 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