StringCollection

The StringCollection provides a way for users to enter a list of strings. In your code, you can refer to these strings as members of an array. To use this class, you must include a reference to the CodeSmith.CustomProperties assembly in your template:

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

After you include the appropriate assembly reference, you can define a property in a script block that uses the StringCollection

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

When the user executes the template, the specified property will display a builder button on the property sheet:

Clicking the builder button will open an editor that allows the user to type strings on separate lines:

You can also edit the members of the collection directly in the property grid as a comma-separated list.

In your code, you can iterate through the collection as an array:

The list is:

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