// Constructor public ConcreteIterator(ConcreteAggregate aggregate) { this._aggregate = aggregate; }
/// <summary> /// Entry point into console application. /// </summary> static void Main() { ConcreteAggregate a = new ConcreteAggregate(); a[0] = "Item A"; a[1] = "Item B"; a[2] = "Item C"; a[3] = "Item D"; // Create Iterator and provide aggregate ConcreteIterator i = new ConcreteIterator(a); Console.WriteLine("Iterating over collection:"); Console.Write("\tFROM: http://www.dofactory.com/net/iterator-design-pattern") object item = i.First(); while (item != null) { Console.WriteLine(item); item = i.Next(); } // Wait for user Console.ReadKey(); }