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
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/6361846.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek “源神”启动!「GitHub 热点速览」
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器