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系列。欢迎大家多多指教和交流。





 本文转自 破狼 51CTO博客,原文链接:http://blog.51cto.com/whitewolfblog/834713,如需转载请自行联系原作者


相关文章
|
5月前
|
小程序 Shell PHP
laravel5.8(二十三)导出PDF
有需求需要使用PHP导出pdf。下面记录一下我使用的两种方式 一:laravel-tcpdf 导出PDF文件Laravel框架为我们集成了一个插件tcpdf。 下载地址: github.com/elibyy/tcpd… 然后使用composer进行安装就可以了。 具体安装过程,请移步《laravel5.8(十)引入第三方类库》 使用的时候记得use 一下 命名空间。 但是这里有一个问题,使用这个插件导出文件无法使用中文,且我还没有找到解决办法,因此,这个laravel的tcpdf插件我就没有使用。 二:tcpdf tcpdf官方网站: tcpdf.org/ 我下载了完整版的TCPDF 下载地址
44 0
|
6月前
|
SQL 开发框架 .NET
CodeSmith 简单使用和常用模板
CodeSmith 简单使用和常用模板
20 0
CodeSmith 简单使用和常用模板
|
XML 编译器 数据格式
xml开发笔记(一):tinyXml2库介绍、编译和工程模板
xml开发笔记(一):tinyXml2库介绍、编译和工程模板
xml开发笔记(一):tinyXml2库介绍、编译和工程模板
|
PHP
【laravel项目】@1 加载模板
【laravel项目】@1 加载模板
83 0
【laravel项目】@1 加载模板
|
前端开发 JavaScript Java
java前端模板Thymeleaf常用语法
java前端模板Thymeleaf常用语法
353 0
java前端模板Thymeleaf常用语法
|
编解码 JavaScript 前端开发
|
Web App开发 XML Java
JavaWeb实现导出Word文档到本地(使用FreeMarker模版引擎实现)
http://freemarker.org/ Freemarker官网,英文,可以用谷歌浏览器的自动翻译,英文水平高的忽略这句。。 简单来说:FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。
2886 0