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>

转载于:https://www.cnblogs.com/wayne-ivan/archive/2007/06/15/784412.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 3的33个保留字列表_python 33个保留字是什么意思

and 用于表达式运算&#xff0c;逻辑与操作as 用于类型转换assert 断言&#xff0c;用于判断变量或条件表达式的值是否为真break 中断循环语句的执行class 用于定义类continue 继续执行下一次循环def 用于定义函数或方法del 删除变量或者序列的值elif 条件语句 与if else 结合使…

SSH整合jar包下载

2019独角兽企业重金招聘Python工程师标准>>> http://blog.sina.com.cn/s/blog_8a3d83320100zhmp.html svn使用 spring 下载 http://maven.springframework.org/release/org/springframework/spring/4.0.5.RELEASE/ http://repo.spring.io/libs-release-local/org/sp…

面试之什么是java虚拟机

java虚拟机体系结构 方法区 堆 java虚拟机栈 本地方法栈方法区 java虚拟机编译的class文件中二进制数据类型解析数据存在方法区中 是所有线程共享和存在数据的线程安全问题 当二个线程使用同一类并且类还被加载 则让一个线程加载 另一个线程等待java虚拟机栈 是线程私有的 既决…

高质量c/c++编程(9)

第9章 类的构造函数、析构函数与赋值函数构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意&#xff0c;其实这些貌似简单的函数就象没有顶盖的下水道那样危险。每个类只有一个析构函数和一个赋值函数&#xff0c;但可以有多个构造函数&#…

三合一剪弦器怎么用_三合一冲锋衣推荐选购攻略:

一、冲锋衣的类别二、三合一冲锋衣小评测。三、冲锋衣维护一、冲锋衣的类别冲锋衣分&#xff1a;硬壳、软壳&#xff0c;三合一&#xff0c;三种类型。软壳是介于抓绒衣和冲锋衣之间的衣服&#xff0c;防水上比硬壳差&#xff0c;只能防小雨&#xff0c;但优势在于活动方便&…

Celery 之异步任务、定时任务、周期任务

什么是Celery?Celery 是芹菜Celery 是基于Python实现的模块, 用于执行异步定时周期任务的其结构的组成是由 1.用户任务 app 2.管道 broker 用于存储任务 官方推荐 redis rabbitMQ / backend 用于存储任务执行结果的 3.员工 worker 一 异步任务 1 from celery import…

堆栈认知——栈溢出实例(ret2libc)

参考&#xff1a;栈溢出实例–笔记三&#xff08;ret2libc&#xff09; 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/119481681 目录1、栈溢出含义及栈结构2、ret2libc基本思路3、实战3.1、二进制程序3.2、查看栈结构3.3、第一次栈溢出3.4、第二次栈溢出1、…

对”命令“操作的命令

乍一看这个标题有点拗口&#xff0c;什么叫对“命令”操作的命令呢&#xff1f;其实从字面上就可以理解我要表达的意思&#xff0c;今天这篇博客写的还是命令&#xff0c;但是这些命令有点不一样&#xff0c;不一样的地方在于这些命令操作的对象就是“命令”。1&#xff0c; t…

用代理技术实现简单的AOP框架

在许多的实现AOP框架的技术中&#xff0c;不管是静态织入还是动态织入&#xff0c;关键点在于拦截方法&#xff0c;并在方法中加入预处理和后处理。而实现方法的拦截的一个简单办法就是 把类的实例委托给类的真实代理(RealProxy).这样以来&#xff0c;方法的调用都会被转换成消…

halcon 单通道图像转成3通道_halcon图像处理基本运算

halcon图像处理基本运算图像处理最基本的操作包括颜色空间转换&#xff0c;各种代数运算&#xff0c;放射变换等。通过熟悉这些常见的操作&#xff0c;可以对图像有基本的认识&#xff0c;尤其是对刚开始接触视觉图像处理的人而言&#xff0c;熟悉这些操作&#xff0c;可以快速…

【HNOI2013】消毒

题面 题解 当只有二维时&#xff0c;就是一个二分图匹配的板子题 三维的时候就很好做了&#xff0c;暴力枚举一维的情况&#xff0c;因为\(\min(x,y,z) \sqrt{5000} < 18\)&#xff0c;于是时间复杂度有保证 代码 #include<cstdio> #include<cstring> #include…

ASP.NET MVC学前篇之Ninject的初步了解

ASP.NET MVC学前篇之Ninject的初步了解1.介绍废话几句&#xff0c;Ninject是一种轻量级的、基础.NET的一个开源IoC框架&#xff0c;在对于MVC框架的学习中会用到IoC框架的&#xff0c;因为这种IoC开源框架有很多&#xff0c;本篇的主题只有一个&#xff0c;就是让阅读过本篇幅的…

技术术语积累

目录ASCII码表ASCII打印字符ASCII非打印控制字符ASCII扩展打印字符C语言基本数据类型整型变量整型常量实数&#xff08;浮点&#xff09;类型实型&#xff08;浮点&#xff09;常量字符变量字符常量C语言中printf打印形式%2d&#xff0c;%-2d&#xff0c;%.2d&#xff0c;%02d&…

下滑加载更多js_专治:卫生间免砸砖,房顶漏水,JS堵漏王水不漏,厂家三包产品,免费成熟配方(点开看更多)...

免砸砖JS-堵漏王水不漏白色粉状&#xff0c;加水溶解后即为JS堵漏王水不漏。防水液&#xff0c;为无色透明液体&#xff0c;不燃、不爆、不腐蚀。本产品是新型多功能纳米水溶性防水剂。具有超强的渗透后微膨胀结晶功能&#xff0c;能充分填补填满物体毛细管&#xff0c;从而达到…

2010年亚运会前广州将大力推广清洁能源公交

中新社北京七月三日电 (记者 闫晓虹)当北京正在为二00八年奥运建设绿色公交的时候&#xff0c;广州公交也在为二0一0年的亚运会积极备战。广州计划在二0一0年亚运会召开之前&#xff0c;从外型设计、技术配置优化等方面进一步提高和完善LPG(液化石油气)公交车&#xff0c;并计划…

linux设置开机自启动

一.、在/etc/rc.local文件中添加自启动命令 执行命令&#xff1a; 编辑"/etc/rc.local"&#xff0c;添加你想开机运行的命令 运行程序脚本&#xff1a;然后在文件最后一行添加要执行程序的全路径。 例如&#xff0c;每次开机时要执行一个hello.sh&#xff0c;这个脚本…

JavaScript 初学者应知的 24 条最佳实践

原文&#xff1a;24 JavaScript Best Practices for Beginners &#xff08;注&#xff1a;阅读原文的时候没有注意发布日期&#xff0c;觉得不错就翻译了&#xff0c;翻译到 JSON.parse 那一节觉得有点不对路才发现是 2009 年发布的文章&#xff0c;不过还是不错的啦。另外&am…

正点原子FreeRTOS(下)

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

AJAX范例大搜罗

1&#xff0e;每天一个AJAX 该网站提供了很多非常酷的AJAX例子&#xff0c;号称是每天更新一个。 网址&#xff1a;http://www.ajaxcompilation.com/ 2&#xff0e;210个AJAX框架 一个不错的提供Ajax范例的网站&#xff0c;Ajax框架已更新至210个。 网址&#xff1a;http:…

JAVA语法——经典题目01

1.什么是JAVA虚拟机&#xff1f;为什么JAVA被称作是“平面无关的编程语言”&#xff1f; JAVA虚拟机是一个可以执行JAVA字节码的虚拟机进程。JAVA源文件被编译成能被JAVA虚拟机执行的字节码文件。 JAVA被设计成允许应用程序可以运行在任意的平台&#xff0c;而不需要程序员为每…