难得有一片天

success.aspx?para1="要有决心"+para2="要努力"+para3="要有机会"
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
1.初识CodeSmith


        要想知道CodeSmith到底有多强大那么我告诉你最好的方法就是去试试,尽管CodeSmith有很多高级甚至复杂的功能,但你不用掌握这所有的功能就能很好的用它来帮你生成代码

         在这一章,你将学习到如何使用CodeSmith生成一段有用的代码-强类型的hash表类,跟着我,保证你不到五分钟就能完成,并且你能领略到CodeSmith Explorer和CodeSmith Studio生成模版代码的强大功能。

2.启动CodeSmith Explorer


         第一步要做的就是启动CodeSmith Explorer,就像Windows Explorer 组织存储在你计算机上的文件夹的功能类似,CodeSmith Explorer的主要功能是是组织模版文件,通过select Start > Programs > CodeSmith 3.0 > CodeSmith Explorer启动你的CodeSmith Explorer,在CodeSmith Explorer的初始界面包括了一些示例模版。



3.打开一个模板


       模板示生成代码的样式,CodeSmith提供一些很有用的基础模板,你也可以从CodeSmith support site
下载到更多的模板,你也可以用CodeSmith开发你自己的模板。

        首先,点击根目录文件夹的加号


       以cst为扩展名的文件就是CodeSmith模板,你可能已经从这些模板的名字猜出了它们的大致用途了吧。例如CSHashTable.cst 模板用于生成c#hash表类,双击这个模板(或者鼠标右键选择执行)打开它。



4.设置属性



       一个代码生成器如果每次都生成相同的代码那么根本就没用,当然如果你仅仅把它当成一个代码存储器那么就另当别论了。CodeSmith可以自定义属性来让你生成自定义代码。当你用CodeSmith Explorer打开一个模板文件,模板属性页会显示出模板所需要的属性。在CodeSmith生成代码之前你必须填写这些参数的值。CSHashTable模板需要四个字符串类型的属性(ClassName, ClassNamespace, ItemType, and KeyType)以及一个枚举类型的属性(Accessibility).。你可以为字符串类型的属性输入你想输入的任意值,而枚举型属性你只能通过下拉菜单来选取相应的值。作为第一次尝试,我们输入以下一些值:

 


CodeSmith最大的优点就在于能定义不同类型的元数据属性。例如,你可以创建一个数据库表单属性,让使用者在数据库中选取表并生成代码。CodeSmith创建数据库表属性的特点我们将在以后的章节讲解。