• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
鱼要的是海洋,鸟要的是天空,我要的是自由!
平凡的人不平凡的人生
博客园    首页    新随笔    联系   管理    订阅  订阅

CodeSmith实用技巧(一):使用StringCollection

StringCollection提供了一种集合的输入方式,在代码中,可以用Array的方式来引用。在使用这个类之前,在模版中我们必须添加对CodeSmith.CustomProperties程序集的引用:
<%@ Assembly Name="CodeSmith.CustomProperties" %>

添加完程序集之后,我们就可以使用StringCollection在脚本块中定义一个属性:

<%@ Property Name="List" Type="CodeSmith.CustomProperties.StringCollection" Category="Custom" Description="This is a sample StringCollection" %>

执行该模版时,这个属性将在属性窗体中显示为一个按钮:

单击按钮,将会弹出一个String Collection Editor对话框:

当然也可以直接在属性窗口中编辑StringCollection。

模版代码如下:

 1<%@ CodeTemplate Language="C#" TargetLanguage="C#" %>
 2
 3<%@ Assembly Name="CodeSmith.CustomProperties" %>
 4
 5<%@ Property Name="List" Type="CodeSmith.CustomProperties.StringCollection" Category="Custom" Description="This is a sample StringCollection" %>
 6
 7using System;
 8namespace Test
 9
10{       
11         /**//// <summary>
12
13         ///     测试StringCollection
14
15         /// </summary>

16
17         public class Test
18
19         {
20
21                   public static void Main(string[] args)
22
23                   {
24
25                            <%for(int i = 0;i<List.Count;i++){%>
26
27                            Console.WriteLine(<%=List[i]%>);
28
29                            <%}
%>
30
31                   }

32
33         }

34
35}

36
37

生成后的代码:

 1using System;
 2
 3namespace Test
 4
 5{       
 6         /**//// <summary>
 7
 8         ///     测试StringCollection
 9
10         /// </summary>

11
12         public class Test
13
14         {
15
16                   public static void Main(string[] args)
17
18                   {
19
20                            Console.WriteLine(Apples);
21
22                            Console.WriteLine(Fish);
23
24                   }

25
26         }

27
28}

29
  StringCollection的重要属性和方法:

公共属性

名称

描述

Count

获取StringCollection中包含的字符串的数目

IsReadOnly

获取用于指示StringCollection是否为只读的值

IsSynchronized

获取一个值,该值指示对StringCollection 的访问是否为同步的(线程安全的)

Item

获取或设置指定索引处的元素。在C# 中,该属性为 StringCollection 类的索引器

SyncRoot

获取可用于同步对StringCollection 的访问的对象

公共方法

名称

描述

Add

将字符串添加到 StringCollection 的末尾

AddRange

将字符串数组的元素复制到 StringCollection 的末尾

Clear

移除 StringCollection 中的所有字符串

Contains

确定指定的字符串是否在 StringCollection 中

CopyTo

从目标数组的指定索引处开始,将全部 StringCollection 值复制到一维字符串数组中

IndexOf

搜索指定的字符串并返回 StringCollection 内的第一个匹配项的从零开始的索引

Insert

将字符串插入 StringCollection 中的指定索引处

Remove

从 StringCollection 中移除特定字符串的第一个匹配项

RemoveAt

移除 StringCollection 的指定索引处的字符串

 

posted @ 2007-06-15 11:04  伊凡  阅读(543)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3