public IEnumerator <IDrawableFigure> GetEnumerator() { var staticFigures = new StaticDrawableFigureCollection(); var demonVisitor = new DemonFigureVisitor(); foreach (var staticFigure in staticFigures) { if (staticFigure == null) { continue; } staticFigure.Accept(demonVisitor); yield return(staticFigure); } }
static void Main(string[] args) { IEnumerable <IDrawableFigure> figureCollection = new StaticDrawableFigureCollection(); var figureDrawer = new FigureDrawer(); Console.WriteLine("Drawing collection of figures..."); Console.WriteLine(); figureDrawer.DrawFigures(figureCollection); Console.WriteLine(); Console.WriteLine("Drawing extendable figures..."); Console.WriteLine(); figureCollection = new StaticExtendableFigureCollection(); figureDrawer.DrawFigures(figureCollection); Console.ReadLine(); }