Using CustomProperties of CodeSmith

     1、 FileNameEditor 

  FileNameEditor类可以让我们为用户提供一个标准的打开文件的对话框和保存文件的对话框,当然在使用FileNameEditor之前我们得先导入CodeSmith.CustomProperties程序集,如下:

ExpandedBlockStart.gif ContractedBlock.gif <% dot.gif @ Assembly Name="CodeSmith.CustomProperties"  %>
ExpandedBlockStart.gifContractedBlock.gif
<% dot.gif @ Import Namespace="CodeSmith.CustomProperties"  %>
 
如何在我们得模板中使用 FileNameEditor呢?如下:

None.gif < script runat = " template " >
None.gif
private   string  _userFileName  =   @" D:\TEST\TEST.txt " ;
None.gif[Editor(
typeof (FileNameEditor),  typeof (System.Drawing.Design.UITypeEditor)),
None.gifCategory(
" Custom " ), Description( " User selected file. " )]
None.gif
public   string  UserFileName
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif      
get dot.gif{return _userFileName;}
ExpandedSubBlockStart.gifContractedSubBlock.gif      
set dot.gif{_userFileName= value;}
ExpandedBlockEnd.gif}

None.gif
</ script >
None.gif
None.gif

这样,当我们执行我们得模板得时候,就可以看到UserFileName得属性旁边有一个打开文件对话框的按钮了。

我们还可以通过设置FileDialogAttribute来定义文件对话框出项的起始目录:

None.gif private   string  _openFileName  =   @" D:\TEST\TEST.txt " ;
None.gif[Editor(
typeof (FileNameEditor),  typeof (System.Drawing.Design.UITypeEditor)),
None.gifFileDialogAttribute(FileDialogType.Open, Title
= " Select Input File " ),
None.gifCategory(
" Custom " ), Description( " User selected file. " )]
None.gif
public   string  OpenFileName
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif      
get dot.gif{return _openFileName;}
ExpandedSubBlockStart.gifContractedSubBlock.gif      
set dot.gif{_openFileName= value;}
ExpandedBlockEnd.gif}

None.gif
None.gif

这样,当你打开文件对话框时,系统会直接定位到 D:\TEST\TEST.txt。

     2、 StringCollection
  这个属性让我们能为用户提供输入一字符串列表的功能,使用这个属性同样要先导入CodeSmith.CustomProperties程序集,然后添加这样的属性设置即可。
None.gif <% @ Property Name = " List "  Type = " CodeSmith.CustomProperties.StringCollection "  Category = " Custom "  Description = " This is the list. "   %>

然后我们执行模板的时候就会有L ist 这样的属性,我们点击旁边的按钮,在弹出的String Collection Editor中就可以输入我们需要的字符串列表,按回车表示一个字符串结束。

在代码中按照下面的方法使用输入的List:

ExpandedBlockStart.gif ContractedBlock.gif <%   for  ( int  i  =   0 ; i  <  List.Count; i ++ dot.gif %>
InBlock.gif
<%= List[i] %>
ExpandedBlockEnd.gif
<% }
  %>
None.gif


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值