CodeSmith实用技巧(八):生成的代码输出到文件中

CodeSmith中,要把生成的代码文件输出到文件中,你需要在自己的模版中继承OutputFileCodeTemplate类。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

None.gif <% @ CodeTemplate Language = " C# "  TargetLanguage = " C# "  Inherits = " OutputFileCodeTemplate "  Description = " Build custom access code. "   %>
None.gif
<% @ Assembly Name = " CodeSmith.BaseTemplates "   %>

OutputFileCodeTemplate主要做两件事情:

1.它添加一个名为OutputFile的属性到你的模版中,该属性要求你必须选择一个文件;

2.模版重载了方法OnPostRender(),在CodeSmith生成代码完成后把相应的内容写入到指定的文件中去。

如果想要自定义OutputFile属性弹出的保存文件对话框,你需要在你的模版中重载OutputFile属性。例如:你希望用户选择一个.cs文件来保存生成的代码,需要在你的模版中添加如下代码:

None.gif < script runat = " template " >
None.gif
//  Override the OutputFile property and assign our specific settings to it.
None.gif
[FileDialog(FileDialogType.Save, Title = " Select Output File " , Filter = " C# Files (*.cs)|*.cs " , DefaultExtension = " .cs " )]
None.gif
public   override   string  OutputFile
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif    
get dot.gif{return base.OutputFile;}
ExpandedSubBlockStart.gifContractedSubBlock.gif    
set dot.gif{base.OutputFile = value;}
ExpandedBlockEnd.gif}

None.gif
</ script >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值