• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

CodeSmith实用技巧(十):通过编程执行模版

mysql 搞代码 4年前 (2022-01-09) 15次浏览 已收录 0个评论

CodeSmith 在执行模版时通过调用一些 API 来完成的,主要经过了以下这几步的操作: l 编译一个模版 l 显示编译错误信息 l 创建一个新的模版实例 l 用元数据填充模版 l 输出结果 下面这段代码显示了这些操作: CodeTemplateCompilercompiler = new CodeTempla

CodeSmith在执行模版时通过调用一些API来完成的,主要经过了以下这几步的操作:<?xml:namespace prefix = o ns = “urn:schemas-microsoft-com:office:office” />

l 编译一个模版

l 显示编译错误信息

l 创建一个新的模版实例

l 用元数据填充模版

l 输出结果

下面这段代码显示了这些操作:

CodeTemplateCompiler compiler = new CodeTemplateCompiler(..\\..\\StoredProcedures.cst);
compiler.Compile();

if (compiler.Errors.Count == 0)
{
CodeTemplate template
= compiler.CreateInstance();

DatabaseSchema database
= new DatabaseSchema(new SqlSchemaProvider(), @”Server=(local)\NetSDK;Database=Northwind;Integrated Secu本文来源gao($daima.com搞@代@#码$网rity=true;);
TableSchema table
= database.Tables[Customers];

template.SetProperty(
SourceTable, table);
template.SetProperty(
IncludeDrop, false);
template.SetProperty(
InsertPrefix, Insert);

template.Render(Console.Out);
}

else
{
for (int i = 0; i < compiler.Errors.Count; i++)
{
Console.Error.WriteLine(compiler.Errors[i].ToString());
}

}


在这里我们用了Render方法,其实CodeTemplate.RenderToFileCodeTemplate.RenderToString方法可能更有用,它可以直接让结果输出到文件中或赋给字符型的变量。

注意:该功能只能在CodeSmith专业版中使用


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CodeSmith实用技巧(十):通过编程执行模版

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址