CodeSmith 使用教程(9): Progress对象

jerry CodeSmith 2015年11月25日 收藏

使用Progress对象可以为CodeSmith生成代码的过程显示一个进度条,这对于生成比较费时的模板操作是非常有用的,如果你使用Visual Studio,可以在状态栏中显示一进度条:

20130106001

使用进度条的方法是通过CodeTemplate对象的Progress属性对象,首先是设置Progress对象的最大值和步长,通过一个简单的循环来模拟一个费时的操作:

  1. <%@ Template Language="C#" TargetLanguage="Text" Debug="False" %>
  2.  
  3. <%@ Import Namespace="System.Threading" %>
  4. This is a progress demo.
  5.  
  6. <% SimulateProgress(); %>
  7.  
  8. <script runat="template">
  9. public void SimulateProgress(){
  10.  
  11. Progress.MaximumValue = 25;
  12. Progress.Step = 1;
  13.  
  14. for(int i=0;i<25;i++){
  15. Progress.PerformStep();
  16. Thread.Sleep(100);
  17. Response.WriteLine("step {0} ",i);
  18. }
  19. }
  20. </script>

让进度条前进一步是通过Progress对象的PerfStep方法来实现的。

下载