`
izuoyan
  • 浏览: 9222703 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

CodeSmith基础(六)

阅读更多

CodeSmith基础(六)

<!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://www.cnblogs.com/Bear-Study-Hard/archive/2005/12/22/302392.html" dc:identifier="http://www.cnblogs.com/Bear-Study-Hard/archive/2005/12/22/302392.html" dc:title="CodeSmith基础(六)" trackback:ping="http://www.cnblogs.com/Bear-Study-Hard/services/trackbacks/302392.aspx" /> </rdf:RDF> -->

本文主要介绍CodeSmith对象。

CodeSmith Object
CodeSimth中有许多对象可以在编写模板的时候使用,这里将介绍这些对象的一些公用方法和属性以及怎么使用它们。

代码模板对象(CodeTemplate Object
在模板中,“this”(或者“Me”在VB.NET中)在当前模板中代码代码模板对象。

代码模板的方法(CodeTemplate Methods

1
public virtual void GetFileName()
可以重载这个方法设置模板输出到文件的名称。否则CodeSmith将基于模板名称和TargetLanguage设置它的文件名。

2public void CopyPropertiesTo(CodeTemplate target)
这个方法可以实现从一个模板中将其所有属性的值拷贝到另一个模板所有对应属性中,并按照相应的属性值类型进行匹配。

3public object GetProperty(string propertyName)
这个方法将返回一个给定名称的属性的值。

4public void SetProperty(string propertyName, object value)
此方法可以根据给定名称的属性设置其值。

5public string SavePropertiesToXml ()
这个方法将现有的属性值保存成一个XML的属性字符串。

6public void SavePropertiesToXmlFile (string fileName)
这个方法将当前属性值保存成一个XML的属性文件。

7public void RestorePropertiesFromXml(string propertySetXml, string baseDirectory)
从保存在XML文件中的属性字符串,将模板的属性值恢复。

8public void RestorePropertiesFromXmlFile(string fileName)
从保存在XML文件中的属性文件,将模板的属性值恢复。

代码模板的属性(CodeTemplate Properties
Response:此属性可以访问当前的TextWriter对象,这个对象是用来输出模板用的。

CodeTemplateInfo:这个属性用来访问当前的CodeTemplateInfo对象,这个对象包含当前模板的一些信息。

Progress:这个属性用来报告当前模板的执行过程。

Response Object
这个对象提供直接写输出模板的方法。与ASP.NETresponse对象很相似。下面是一个利用ResponseWrite方法在模板上输出一段文字的例子。

<% Response.Write("This will appear in the template") %>

IndentLevel (Int32)
当使用Response对象时输出文本的缩进级别。

Indent() Method
将输出缩进一个级别。

Unindent() Method
将输出少缩进一个级别。

AddTextWriter(TextWriter writer) Method
Response对象增加一个TextWriter。这样可以使在同一时间用多个TextWriter输出模板。

CodeTemplateInfo Object
此对象包含一些当前模板的信息。下面是一些CodeTemplateInfo可用的属性。

DateCreated (DateTime)
返回一个date类型值,是模板创建的时间。

DateModified (DateTime)
返回模板最后一次被修改的时间。

Description (string)
返回模板声明时对模版的描述信息。

DirectoryName (string)
返回当前模板文件所在的路径。

FileName (string)
返回当前模版文件的文件名称。

FullPath (string)
返回当前模板的完整路径,路径名+文件名。

Language (string)
返回代码模版声明时使用的语言。

TargetLanguage (string)
返回代码模版声明时生成的目标语言。

Progress Object

这个属性用来报告当前模板的执行过程。下面是一些Progress可用的成员。

MaximumValue (Int32)
模版progress允许的最大值。

MinimumValue (Int32)
模版progress允许的最小值。

Step (Int32)
模版每执行一不progress的增长值。

Value (Int32)
Progress的当前值。

PerformStep() Method
按照指定好的progress的增加值执行一步。(原文:Perform a progress step incrementing the progress value by the amount specified in the Step property.

Increment(Int32 amount) Method
指定progress的增加值。(原文:Increment the progress value by the specified amount.

OnProgress (ProgressEventHandler) Event
这个事件用来报告模版的执行过程。(原文:This event can be used to be notified of template execution progress.

1this.Progress.OnProgress+=newProgressEventHandler(this.OnProgress);
2
3publicvoidOnProgress(objectsender,ProgressEventArgse)
4{
5Trace.WriteLine(e.Value);
6}
分享到:
评论

相关推荐

    CodeSmith 基础教程 word版

    本文档是一个关于 CodeSmith 的基础教程,针对的是 CodeSmith Professional v5.1.3.8510 版本,以 C# 为例进行说明。 首先,我们需要对 CodeSmith 进行必要的设置,以便它能够正确处理中文字符。在工具的选项中,...

    CodeSmith 6.0 + 序列号

    在标题中提到的"CodeSmith 6.0 + 序列号",指的是该软件的第六个主要版本,并且提供了一个序列号,允许用户激活并使用这个版本。序列号CS60T-2XZF7-YJ9HP-QJDBK-J9SYL-5B72U-HALMC是激活CodeSmith 6.0的关键,确保...

    CodeSmith生成SpringBoot模板

    总的来说,利用CodeSmith生成SpringBoot模板结合MyBatisPlus,可以有效地减少重复编码工作,提升开发效率,让开发者更专注于业务逻辑的实现,而不是基础代码的编写。通过熟练掌握这一技巧,可以为你的项目开发带来极...

    用CodeSmith生成nhibernate的映射文件说明

    此外,还需要具备一定的CodeSmith和NHibernate基础知识。 #### 三、具体步骤 ##### 3.1 打开CodeSmith并选择模板 首先启动CodeSmith工具,然后通过“文件”菜单中的“新建”选项来创建一个新的项目。在弹出的新建...

    用CodeSmith生成数据库实体类的代码 VB

    ### 二、CodeSmith模板基础 在所提供的部分代码中,我们可以看到模板文件的基本结构: ```vb ``` 这段元数据定义了模板的基础属性,例如使用的脚本语言是VB.NET (`CodeTemplateLanguage="VB"`), 生成的目标语言...

    CodeSmith开发资料.pdf

    知识点一:CodeSmith基础概念和功能 CodeSmith是一个代码生成框架,它提供了一种机制,允许通过模板引擎和代码生成器来生成应用程序代码和数据库访问层代码。CodeSmith的核心功能包括: - 代码生成:能够根据预先...

    codesmith文档及模板.rar

    压缩包中的模板文件是 Codesmith 社区共享的宝贵资源,包括基础模板、通用模板以及特定场景下的定制模板。这些模板可以直接用于项目中,也可以作为参考,帮助开发者快速构建自己的模板库。 五、最佳实践 在实际使用...

    codesmith学习资料

    一、基础概念与用途 Codesmith的核心功能是通过模板引擎将数据库结构转换为各种编程语言的代码,如C#、Java等。它通过读取数据库的元数据,自动生成诸如实体类、数据访问层、业务逻辑层以及控制层等代码,减少了...

    smithcode 教程 + 破解码

    CodeSmith 基础(六)........................................................................... 努力学习的熊39 CodeSmith 基础(七).......................................................................

    C#源代码生成器

    对于C#开发者来说,这类工具可以避免重复编写大量相似的、繁琐的基础代码,让开发者能够更专注于业务逻辑和创新性工作。 二、C#源代码生成器的工作原理 C#源代码生成器的核心是代码生成引擎,它通常由两部分组成:...

Global site tag (gtag.js) - Google Analytics