<%@ Page Language="C#" %>
<script runat="server">
void Page_Load()
{
CustomCollection customCollection = new CustomCollection(10);
DemoOutput.Text = "";
foreach (CustomItem customItem in customCollection)
{
DemoOutput.Text += customItem.Index + "<br />";
}
}
public class CustomCollection : IEnumerable, IEnumerator
{
private CustomItem[] customItems;
private int current = -1;
public CustomCollection(int Count)
{
customItems = new CustomItem[Count];
for (int index = 0; index < Count; index++)
{
customItems[index] = new CustomItem(index);
}
}
#region Implementation of IEnumerable
public IEnumerator GetEnumerator()
{
return (IEnumerator) this;
}
#endregion
#region Implementation of IEnumerator
public void Reset()
{
current = -1;
}
public bool MoveNext()
{
if (current < customItems.Length - 1)
{
current++;
return true;
}
else
{
return false;
}
}
public object Current
{
get
{
return customItems[current];
}
}
#endregion
}
public class CustomItem
{
private int index;
public int Index
{
get
{
return index;
}
}
public CustomItem(int Index)
{
index = Index;
}
}
</script>
<html>
<head>
<title>Creating a Custom Collection</title>
</head>
<body>
<form id="MainForm" runat="server">
Output of Looping through a Custom Collection
<br />
<asp:literal id="DemoOutput" runat="server" />
</form>
</body>
</html>
|