CodeSmith 使用实例

 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。

模版代码如下:
<%@ CodeTemplate Language="C#" TargetLanguage="C#" %>

<%@ Assembly Name="CodeSmith.CustomProperties" %>

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

using System;
namespace Test

{      
         /** <summary>

         ///     测试StringCollection

         /// </summary>

         public class Test

         {

                   public static void Main(string[] args)

                   {

                            <%for(int i = 0;i<List.Count;i++){%>

                            Console.WriteLine(<%=List[i]%>);

                            <%}%>

                   }

         }

}

 

成后的代码:

using System;

namespace Test

{      
         /** <summary>

         ///     测试StringCollection

         /// </summary>

         public class Test

         {

                   public static void Main(string[] args)

                   {

                            Console.WriteLine(Apples);

                            Console.WriteLine(Fish);

                   }

         }

}

  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 的指定索引处的字符串

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值