FileNameEditor类给我们提供了在CodeSmith属性面板中弹出打开或保存文件对话框的方式,在使用时,首先在模版中得添加对程序集CodeSmith.CustomProperties的引用。然后就可以在模版中定义一个属性来使用FileNameEditor

 1CodeSmith实用技巧(二):使用FileNameEditor<script runat="template">
 2CodeSmith实用技巧(二):使用FileNameEditor
 3CodeSmith实用技巧(二):使用FileNameEditorprivate string _userFileName = @"c:\temp\test.txt";
 4CodeSmith实用技巧(二):使用FileNameEditor
 5CodeSmith实用技巧(二):使用FileNameEditor 
 6CodeSmith实用技巧(二):使用FileNameEditor
 7CodeSmith实用技巧(二):使用FileNameEditor[Editor(typeof(FileNameEditor), typeof(System.Drawing.Design.UITypeEditor)),
 8CodeSmith实用技巧(二):使用FileNameEditor
 9CodeSmith实用技巧(二):使用FileNameEditorCategory("Custom"), Description("User selected file.")]
10CodeSmith实用技巧(二):使用FileNameEditor
11CodeSmith实用技巧(二):使用FileNameEditor 
12CodeSmith实用技巧(二):使用FileNameEditor
13CodeSmith实用技巧(二):使用FileNameEditorpublic string UserFileName
14CodeSmith实用技巧(二):使用FileNameEditor
15

当我们执行该模版时,在属性面板中同样显示为一个按钮:

单击该按钮,弹出一个保存文件的对话框:

CodeSmith实用技巧(二):使用FileNameEditor

我们也可以通过FileDialogAttribute来自定义弹出的对话框,修改模版为:

 1CodeSmith实用技巧(二):使用FileNameEditorprivate string _openFileName = @"c:\temp\test.txt";
 2CodeSmith实用技巧(二):使用FileNameEditor
 3CodeSmith实用技巧(二):使用FileNameEditor
 4CodeSmith实用技巧(二):使用FileNameEditor[Editor(typeof(FileNameEditor), typeof(System.Drawing.Design.UITypeEditor)),
 5CodeSmith实用技巧(二):使用FileNameEditor
 6CodeSmith实用技巧(二):使用FileNameEditorFileDialogAttribute(FileDialogType.Open, Title="Select Input File"),
 7CodeSmith实用技巧(二):使用FileNameEditor
 8CodeSmith实用技巧(二):使用FileNameEditorCategory("Custom"), Description("User selected file.")]
 9CodeSmith实用技巧(二):使用FileNameEditor
10CodeSmith实用技巧(二):使用FileNameEditor 
11CodeSmith实用技巧(二):使用FileNameEditor
12CodeSmith实用技巧(二):使用FileNameEditorpublic string OpenFileName
13CodeSmith实用技巧(二):使用FileNameEditor
14

弹出的对话框如下所示:

CodeSmith实用技巧(二):使用FileNameEditor

当我们想用一个文件夹的名称来代替文件时,可以使用FolderNameEditor类。

 1CodeSmith实用技巧(二):使用FileNameEditor<%@ Assembly Name="System.Design" %>
 2CodeSmith实用技巧(二):使用FileNameEditor<script runat="template">
 3CodeSmith实用技巧(二):使用FileNameEditorprivate string _outputDirectory = @"c:\temp";
 4CodeSmith实用技巧(二):使用FileNameEditor[Editor(typeof(System.Windows.Forms.Design.FolderNameEditor), typeof(System.Drawing.Design.UITypeEditor)),
 5CodeSmith实用技巧(二):使用FileNameEditorCategory("Custom"), Description("Output directory.")]
 6CodeSmith实用技巧(二):使用FileNameEditorpublic string OutputDirectory
 7

FileNameEditor重要方法和属性介绍:

公共方法:

名称

描述

EditValue

使用由 GetEditStyle 方法提供的编辑器样式编辑指定的对象

GetEditStyle

获取 EditValue 方法所使用的编辑样式

 

相关文章: