4.public void SetProperty(string propertyName, object value) . 5.public string SavePropertiesToXml () . 6.public void SavePropertiesToXmlFile (string fileName) . 7.public void RestorePropertiesFromXml(string propertySetXml, . string baseDirectory) 8.public void RestorePropertiesFromXmlFile(string fileName) .
CodeSmith基础
代码模板的属性(CodeTemplate Properties) 代码模板的属性( ) Response:此属性可以访问当前的TextWriter对象,这个对象是用来输出模 :此属性可以访问当前的 对象, 对象 板用的。 板用的。 CodeTemplateInfo:这个属性用来访问当前的 对象, :这个属性用来访问当前的CodeTemplateInfo对象,这 对象 个对象包含当前模板的一些信息。 个对象包含当前模板的一些信息。 Progress:这个属性用来报告当前模板的执行过程。 :这个属性用来
报告当前模板的执行过程。 Response Object 这个对象提供直接写输出模板的方法。 对象很相似。 这个对象提供直接写输出模板的方法。与ASP.NET的response对象很相似。 的 对象很相似 下面是一个利用Response的Write方法在模板上输出一段文字的例子。 方法在模板上输出一段文字的例子。 下面是一个利用 的 方法在模板上输出一段文字的例子 <% Response.Write("This will appear in the template") %> IndentLevel (Int32) 当使用Response对象时输出文本的缩进级别。 对象时输出文本的缩进级别。 当使用 对象时输出文本的缩进级别 Indent() Method 将输出缩进一个级别。 将输出缩进一个级别。 Unindent() Method 将输出少缩进一个级别。 将输出少缩进一个级别。 ………
CodeSmith应用
1、使用CodeSmi
th Studio 编写自定义模板 、使用
第一步,创建好一个模板后要指明这是一个C#语言的模板。 第一步,创建好一个模板后要指明这是一个 语言的模板。 语言的模板 <%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a class including a special informational header" %> 第二步,我们要指明模板在生成代码时的属性, 第二步,我们要指明模板在生成代码时的属性,即生成代码需要的输入 值变量。 值变量。 <%@ Property Name="NameSpace" Type="String" Category="Context " Description="The namespace to use for this class" %> 如上边所示,在进行代码生成时, 如上边所示,在进行代码生成时,在CodeSmith Explorer中选择模板 中选择模板 后生成代码的窗口中,变量的名称为NameSpace,类型是 后生成代码的窗口中,变量的名称为 ,类型是String,类别是 , Context,当用户选中这个属性时对于属性的描述 ,当用户选中这个属性时对于属性的描述Description。 。 我们可以按照C#语言的语法去使用定义的变量,例如: 我们可以按照 语言的语法去使用定义的变量,例如: 语言的语法去使用定义的变量 /////////////////////////////////////////////////////////////////////////////////////// // File: <%=ClassName%>.cs
CodeSmith应用
例如这个例子——Test.cst <%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a class including a special informational heade r" %> <%@ 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" %>
/////////////////////////////////////////////////////////////////////////////////////// // File: <%=ClassName%>.cs // Description: Enter summary here after generation. // ---