Home > Database > Mysql Tutorial > body text

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

WBOY
Release: 2016-06-07 15:10:51
Original
1654 people have browsed it

在 CodeSmith 中,要把生成的代码文件输出到文件中,你需要在自己的模版中继承 OutputFileCodeTemplate 类。 % @CodeTemplateLanguage = " C# " TargetLanguage = " C# " Inherits = " OutputFileCodeTemplate " Description = " Buildcustomaccesscode. " %

CodeSmith中,要把生成的代码文件输出到文件中,你需要在自己的模版中继承OutputFileCodeTemplate类。

CodeSmith实用技巧(八):生成的代码输出到文件中@ CodeTemplate Language="C#" TargetLanguage="C#" Inherits="OutputFileCodeTemplate" Description="Build custom access code." %>
CodeSmith实用技巧(八):生成的代码输出到文件中
@ Assembly Name="CodeSmith.BaseTemplates" %>

OutputFileCodeTemplate主要做两件事情:

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

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

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

CodeSmith实用技巧(八):生成的代码输出到文件中script runat="template">
CodeSmith实用技巧(八):生成的代码输出到文件中
// Override the OutputFile property and assign our specific settings to it.
CodeSmith实用技巧(八):生成的代码输出到文件中
[FileDialog(FileDialogType.Save, Title="Select Output File", Filter="C# Files (*.cs)|*.cs", DefaultExtension=".cs")]
CodeSmith实用技巧(八):生成的代码输出到文件中
public override string OutputFile
CodeSmith实用技巧(八):生成的代码输出到文件中CodeSmith实用技巧(八):生成的代码输出到文件中
CodeSmith实用技巧(八):生成的代码输出到文件中{
CodeSmith实用技巧(八):生成的代码输出到文件中CodeSmith实用技巧(八):生成的代码输出到文件中    
get CodeSmith实用技巧(八):生成的代码输出到文件中{return base.OutputFile;}
CodeSmith实用技巧(八):生成的代码输出到文件中CodeSmith实用技巧(八):生成的代码输出到文件中    
set CodeSmith实用技巧(八):生成的代码输出到文件中{base.OutputFile = value;}
CodeSmith实用技巧(八):生成的代码输出到文件中}

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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template