static void Main(string[] args) { Fabric fabric = new Fabric(); List <IFigure> figureList = new List <IFigure>(); for (var i = 0; i < 3; i++) { figureList.Add(fabric.CreateFigure(i)); figureList.Add(fabric.CreateFigure(i, i + 2, i * 2)); } ; foreach (IFigure figure in figureList) { Console.WriteLine(figure.ToString()); Console.WriteLine(figure.GetPerimeter()); Console.WriteLine(figure.GetSquare()); if (figure is Triangle triangle) { if (triangle.IsRectangular()) { Console.WriteLine("треугольник - прямоугольный!"); } } Console.WriteLine("---------"); } ; }
/// <summary> /// Метод, определяет тип фигуры и возвращает площадь /// </summary> /// <param name="name">название фигуры</param> /// <param name="args">параметры фигуры</param> /// <returns>Площадь фигуры</returns> public static double CalculateSquare(string name = "", params double[] args) { switch (name.ToLower()) { case "окружность": { IFigure circle = new Fabric().CreateFigure(args[0]); return(circle.GetSquare()); } case "треугольник": { IFigure triangle = new Fabric().CreateFigure(args[0], args[1], args[2]); return(triangle.GetSquare()); } default: { IFigure figure = new Fabric().CreateFigure(args); return(figure.GetSquare()); } } }