Bear-Study-Hard

In 2008, I am absorbed in MOSS 2007, WF, ASP.NET 2.0, WPF, WCF and Wirte more Articles. ^_^
posts - 165, comments - 695, trackbacks - 146, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

首先我们要添加<%@ Assembly Name="System.Design" %>命名空间。然后我们在模板中自定义一个属性,用来表示要存储的路径。其中我们使用了this.CodeTemplateInfo.DirectoryName得到当前模版所在路径作为默认路径。

private string _outputDirectory = String.Empty;

[Editor(
typeof(System.Windows.Forms.Design.FolderNameEditor), typeof(System.Drawing.Design.UITypeEditor))] 
[Optional]
[Category(
"Output")]
[Description(
"The directory to output the results to.")]
public string OutputDirectory 
{
         
get
         {
                   
// default to the directory that the template is located in
                   if (_outputDirectory.Length == 0return this.CodeTemplateInfo.DirectoryName + "output\\";

                   
return _outputDirectory;
         }
         
set
         {
                   
if (!value.EndsWith("\\")) value += "\\";
                   _outputDirectory 
= value;
         } 
}

这样编译运行后我们就可以看到如下效果:


    单击选择路径按钮后我们就可以看到这样的窗口


    选择后相应的路径值就会填入属性框。

Feedback

#1楼    回复  引用    

2006-07-10 18:26 by Rebecca [未注册用户]
收藏:)
最近正在看这个。希望楼主可以多写一些关于CodeSmith应用方面的东东。相信它不只可以用于生成数据库应用方面的代码,应该可以有更多方面的用途。

#2楼 [楼主]   回复  引用  查看    

2006-07-10 22:28 by 努力学习的熊      
@Rebecca
如你所说确实有很大用处,我现在所在的公司已经开始尝试用它来做项目了。关于其他的具体应用有时间我会继续写出的:)

#3楼    回复  引用    

2006-07-12 11:22 by Rebecca [未注册用户]
我现在遇到一个问题:如何共用某个模板中的属性?
一些字符格式的属性可以从XML文件中获取;但是有些,例如“SchemaExplorer.TableSchema”,如何在各个模板中共享?一定要用CopyPropertiesTo的方法吗?是否有些更简单的方法可以指定父模板和子模板?

#4楼 [楼主]   回复  引用  查看    

2006-07-12 11:46 by 努力学习的熊      
@Rebecca
这里有怎么使用父模板和子模板的方法,在第7条
http://bear-study-hard.cnblogs.com/archive/2005/12/19/300320.html

#5楼    回复  引用    

2006-09-20 11:14 by 乔疯 [未注册用户]
最近才真正开始使用codesmith,不过使用3.1,用了网上找到的lic文件也仍然不停地倒计时,这是为何?
===========================
@Rebecca
如你所说确实有很大用处,我现在所在的公司已经开始尝试用它来做项目了。关于其他的具体应用有时间我会继续写出的:)
=============================
关于这些能否地讲一下?
很有兴趣.虽然写模板需要不少时间,可是写完模板后发现一按按钮就可以生成大量的代码,这感觉真是爽啊.

可能不能随时关注你的博客,所以有更新时请通知下兄弟哈.非常非常之感谢
guiqul@163.com




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索
[推荐职位]上海盛大网络招聘.Net开发工程师

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: