static void Main(string[] args) { var areaVisitor = new AreaVisitor(); var drawVisitor = new DrawVisitor(); var magicVisitor = new MagicVisitor(); var figures = new List <IElement> { new Circle { Radius = 2 }, new Rectangle { Height = 3, Width = 2 }, new Triangle { Base = 3, Height = 2 } }; figures.ForEach(x => x.Accept(areaVisitor)); figures.ForEach(x => x.Accept(drawVisitor)); figures.ForEach(x => x.Accept(magicVisitor)); }
static void Main(string[] args) { var triangle = new Triangle(3, 4, 5); var rectangle = new Rectangle(4, 5); var circle = new Circle(3); var figures = new List <Figure> { triangle, rectangle, circle }; var perimeterVisitor = new PerimeterVisitor(); var areaVisitor = new AreaVisitor(); var drawVisitor = new DrawVisitor(100, 100, Color.Orchid); foreach (var figure in figures) { figure.Accept(perimeterVisitor); figure.Accept(areaVisitor); figure.Accept(drawVisitor); } }