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);
            }
        }
示例#2
0
        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();
        }