当前位置: 首页 > news >正文

CodeSmith模板引擎系列-目录

         CodeSmith是一个基于模板的代码生成器,它可以生成任何基于ASCII的编程语言代码。生成的代码可以使用属性进行定制。属性可以是任何具有设计器的.NET对象(大多数.NET内置类型已经有设计器),也可以是一个允许你从结果中有条件地添加或移除代码的简单的boolean 属性,或是一个对象,例如能够访问数据库表信息的TableSchema对象(包括在SchemaExplorer中)。CodeSmith完全可扩展,它允许用户创建定制属性类型。CodeSmith中包括多个定制属性类型的例子,例如,定制一个允许选择XML文件(使用XmlSerializer可将其反序列化到对象中)的属性类型。CodeSmith还允许用户在模板中引用和调用指定的外部程序集并且允许从外部程序集的类生成模板。

        CodeSmith的语法与ASP.NET几乎相同。因此如果你熟悉ASP.NET ,那么应该会很快理解模板语法。你可以在模板中使用C#、VB.NET或JScript.NET语言,并且模板可以输出任何基于ASCII的语言。CodeSmith还包括一个名为SchemaExplorer的程序集,利用它可以访问几乎所有的数据库概要(schema)细节。访问这种信息让你能够生成各种代码,例如存储过程、类型DataSet、业务对象、表示层代码或任何其它基于数据库概要信息的代码。(来自:http://msdn.microsoft.com/msdnmag/issues/04/07/MustHaveTools/default.aspx)

  1. CodeSmith模板引擎系列一
  2. CodeSmith模板引擎系列二--文件目录树
  3. 通过代码生成机制实现强类型编程-CodeSimth版
  4. Dbml文件提取建表TSql-CodeSmith

      打算写一些代码生成编译技术的系列,包括CodeDom(CodeDom的代码生成技术目录),CodeSmith模板、T4模板、StringTemplate,以及Expression Tree的系列随笔。如果可能的话再加上Emit系列。欢迎大家多多指教和交流。

转载于:https://www.cnblogs.com/whitewolf/archive/2010/09/27/1836729.html

相关文章:

  • 分布式术语
  • SQL中truncate table和delete的区别
  • Ruby on Rails (ROR)类书籍下载地址及其他(整理)
  • sql server 2005卸载后重装显示sql server database services和工作站组件、联机丛书和开发工具安装失败...
  • xargs中的参数位置
  • 解读:大数据分析及其数据来源
  • general error c101008d: Failed to write the updated manifest to the resource of file
  • 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术
  • 使用cookies实现浏览历史记录功能
  • 字符串类型内建方法归纳总结
  • 【随笔】也随便说说隐私的事情
  • Android MVC模式
  • 诗歌rails 之bundle
  • 第十七、十八周微职位:tomcat,MogileFS
  • JSON 入门
  • 分享一款快速APP功能测试工具
  • js学习笔记
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • springboot_database项目介绍
  • Vue组件定义
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 阿里云Kubernetes容器服务上体验Knative
  • 从PHP迁移至Golang - 基础篇
  • 订阅Forge Viewer所有的事件
  • 诡异!React stopPropagation失灵
  • 每天一个设计模式之命令模式
  • 浅谈web中前端模板引擎的使用
  • 区块链分支循环
  • 使用Gradle第一次构建Java程序
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 学习使用ExpressJS 4.0中的新Router
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 数据可视化之下发图实践
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (arch)linux 转换文件编码格式
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (Note)C++中的继承方式
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)ABI是什么
  • (转)Oracle存储过程编写经验和优化措施
  • (状压dp)uva 10817 Headmaster's Headache
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Core 中插件式开发实现
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net refrector
  • .NET 读取 JSON格式的数据