如何用CodeSmith减少代码重复编写

 
上次简单介绍了下CodeSmith,今天做些详细介绍(转),希望可以对大家有帮助:
CodeSmith 是一种语法类似于asp.net的基于模板的代码生成器,程序可以自定义模板,从而减少重复编码的劳动量,提高效率。
     安装CodeSmith 2.6注册后发现有两个可运行程序CodeSmith Studio.exe和CodeSmith Explorer.exe
     CodeSmith Studio.exe用来创建自定义模板
     CodeSmith Explorer.exe用来导入模板并且生成代码
      打开 CodeSmith Studio.exe,新建一个C#模板。发现有如下类似与asp.net的标识符号
       <%  %>
     <%= %>
     <%@  %>
    <script runat="template"> </script>
     下面通过简单的例子说明如何用    CodeSmith 创建模板并生成代码
      新建一个空的txt文件,在文件上部输入如下一个CodeTemplate指示,Language和TargetLanguage分别代表模板语言和创建代码语言,
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a simple class " %>
然后声明几个变量,用来为了能够在以后生成的代码嵌入,这里声明了三个名为NameSpace,ClassName,Contxt的变量。其他参数一目了然就不再说明了,
<%@ Property Name="NameSpace" Type="String"
        Category="Context"
        Description="The namespace to use for this class" %>
<%@ Property Name="ClassName" Type="String"
        Category="Context"
        Description="The name of the class to generate" %>
<%@ Property Name="DevelopersName" Type="String"
        Category="Context"
        Description="The name to include in the comment header" %>
接下来建立将要生成代码的框架,在适当位置引用刚刚声明的变量名
using System;
namespace <%=NameSpace %>

时间: 2024-09-20 00:18:33

如何用CodeSmith减少代码重复编写的相关文章

PHP面向对象继承用法详解(优化与减少代码重复)_php技巧

本文实例讲述了PHP面向对象继承用法.分享给大家供大家参考,具体如下: 继承 先看两个类 <?php class CdProduct { public $playLength; // 播放时间 public $title; public $producerMainName; public $producerFirstName; public $price; function __construct( $title, $firstName, $mainName, $price, $playLeng

减少Scala中的代码重复

所有的函数都被分割成通用部分,它们在每次函数调用中都相同,以及非通用部分,在不同的函数调用中可能会变化.通用部分是函数体,而非通用部分必须由参数提供.当你把函数值用做参数时,算法的非通用部分就是它代表的某些其它算法.在这种函数的每一次调用中,你都可以把不同的函数值作为参数传入,于是被调用函数将在每次选用参数的时候调用传入的函数值.这种高阶函数:higher-order function--带其它函数做参数的函数--给了你额外的机会去组织和简化代码. 高阶函数的一个好处是它们能让你创造控制抽象从而

radio button-C#编程 其中radioButton控件48个,button控件24个,请教各位大牛,如何简化编写,功能如下代码重复24次。

问题描述 C#编程 其中radioButton控件48个,button控件24个,请教各位大牛,如何简化编写,功能如下代码重复24次. 1C private void radioButton1_CheckedChanged(object sender EventArgs e) { if (radioButton1.Checked == true) button1.BackColor = Color.Red; } private void radioButton2_CheckedChanged(o

实战 Groovy: 用 Groovy 减少代码冗余

简介:Groovy 简洁的语法将开发人员从那种需要进行代码编译但却无助于表 达 什么 是程序真正想 要实现的典型的 Java 结构中解放了出来.在实战 Groovy 系列的这一复 兴篇中,Groovy 开发 人员兼特约专栏作家 J. Scott Hickey 带您进行一系列对常规 Java 代码和 Groovy 代码的比较,展示 这门令人兴奋的语言如何将您解放出来,让您能够专注于编码的重要方面. 通常,程序员们转而选择诸如 Groovy 之类的编程语言,是为了构建快速的实 用程序,快速编写测试

唱吧DevOps的落地,微服务CI/CD的范本技术解读----最大的难点并不是实际业务代码的编写,而是服务的监控和调试以及容器的编排

1.业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验.K歌亭在客户端有VOD.微信和Web共三个交互入口,业务复杂度较高,如长连接池服务.用户系统服务.商户系统.增量更新服务.ERP等.对于服务端的稳定性要求也很高,因为K歌亭摆放地点不固定,很多场所的运营活动会造成突发流量. 为了快速开发上线,K歌亭项目最初采用的是传统的单体式架构,但是随着时间的推移,需求的迭代速度变得很快,代码冗余变多,经常会出现牵一发动全

利用预编译指令防止代码重复编译

 看下面一段代码     #include "test.h"   //看到这句我们重复了 三次 按照我们以往的编写 我们可能认为 他会出现变量函数 等重复定义的错误   在一个文件中这样写显然是不好  我这里是做演示 因为我们在大型项目开发中很有可能的重复包含 同一个头文件 为了防止错误的发生我们要再 头文件中利用#idndef  #ifdef 等预编译指令 来处理代码   #ifdef identifier #ifndef identifier   identifier标示符 可以使

如何用C#写代码批量下载网页上提供的附件。

问题描述 如何用C#写代码批量下载网页上提供的附件. 在一个网页上有一个导出PDF文件的功能,是当点击这个按钮后,执行一个脚本,然后弹出文件下载另存为的对话框进文件的下载功能. 现在希望用C#实现自动批量的下载并保存这些PDF文件. 求实现方法,谢谢! 解决方案 用webclient.downloadfile或者httpwebrequest去下载. 解决方案二: 建议压缩成ZIP包后再下载. 解决方案三: 执行的是一个脚本,现在我可以实现通过代码模拟这个单击操作,执行这个脚本,但是如何能得到下载

php使用类继承解决代码重复的问题

 这篇文章主要介绍了php使用类继承解决代码重复的问题,实例分析了继承的原理与使用技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了php使用类继承解决代码重复的问题.分享给大家供大家参考.具体分析如下: 继承直白地说就是给一个类建一个或多个子类,要创建子类就必须在类声明中使用 extends 关键字,新类名在前,extends 在中,父类名在后. 下例中,我们创建两个新类,BookProduct 和Cdproduct ,它们都继承自 ShopProduct 类. 代码如下:

代码分析-手机恶搞程序代码的编写和运行方法

问题描述 手机恶搞程序代码的编写和运行方法 现在的安卓机有没有可以通过微信QQ之类在手机上运行的代码!怎么弄?详细点! 解决方案 有的,贴出你的手机号,发给你.