static void Main(string[] args) { PrintDevice printObj = new PrintDevice("Canon", 5, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", 760, "Китай"); Skaner skanObj = new Skaner("Canon CanoScan", 4, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", 550, "Китай"); Computer compObj = new Computer("Asus Zenbook", 10, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 1500, "Ультрабук"); Tablet tablObj = new Tablet("Lenovo M10 Plus", 6, "-", 10.3, 990, "Tab M10 (Lenovo)"); PrintDevice newPrintObj = new PrintDevice("Canon", 7, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", 1030, "Китай"); Skaner newSkanObj = new Skaner("Canon CanoScan", 6, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", 660, "Китай"); Computer newCompObj = new Computer("Asus Zenbook", 12, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 4", 1500, "Ультрабук"); Tablet newTablObj = new Tablet("Legion", 8, "-", 14.2, 780, "Tab M10"); Laboratory.Add(printObj); Laboratory.Add(skanObj); Laboratory.Add(compObj); Laboratory.Add(tablObj); Laboratory.Add(newPrintObj); Laboratory.Add(newSkanObj); Laboratory.Add(newCompObj); Laboratory.Add(newTablObj); compObj.Available(); skanObj.Available(); printObj.priceIncrease(); Console.WriteLine(new string('=', 35)); Console.WriteLine("Информация о имеющемся планшете: "); Console.WriteLine(tablObj.ToString()); Console.WriteLine(new string('=', 35)); Product prodObj = new Computer("Lenovo IdeaPad L3", 3, "Встречайте 15,6-дюймовый ноутбук Lenovo IdeaPad 3. Оснащенный передовым процессором Intel® Core™ 10-го поколения и дискретной видеокартой.", "Intel Core i3", 2200, "Универсальный"); Laboratory.Add(prodObj); Console.WriteLine("Информация о новом товаре:"); Console.WriteLine(prodObj.ToString()); Console.WriteLine(new string('=', 35)); Console.WriteLine(prodObj is Product ? "Объект prodObj является элементом класса Product" : "Объект prodObj не является элементом класса Product"); Console.WriteLine(compObj is Device ? "Объект compObj является элементом класса Device" : "Объект compObj не является элементом класса Device"); Console.WriteLine(tablObj is Skaner ? "Объект tablObj является элементом класса Device" : "Объект tablObj не является элементом класса Device"); Console.WriteLine(new string('=', 35)); var secProd = prodObj as Computer; if (secProd != null) { Console.WriteLine(secProd.ToString()); } Console.WriteLine(new string('=', 35)); compObj.Producer(); compObj.GetDiscounts(); tablObj.InfoAboutDiscounts(); Console.WriteLine(new string('=', 35)); Console.WriteLine("Вызываем класс IPrinter и метод IAmPrinting(): "); IPrinter printing = new IPrinter(); Product[] ArrayTech = new Product[] { printObj, skanObj, tablObj }; foreach (var tech in ArrayTech) { printing.IAmPrinting(tech); Console.ReadKey(); } Console.WriteLine(); Console.WriteLine(new string('=', 45)); Console.WriteLine("============ Лабораторная №6 ============"); Console.WriteLine(new string('=', 45)); Laboratory.ShowList(); Console.WriteLine("=== Поиск техники старше заданного срока службы ==="); Controller.FindOldest(Laboratory.Equipment); Console.WriteLine(new string('=', 35)); Console.WriteLine("=== Задание 1: Подсчитать количество каждого вида техники. ==="); Controller.TechCounter(Laboratory.Equipment); Console.WriteLine(new string('=', 35)); Console.WriteLine("=== Задание 2: Вывести список техники в порядке убывания цены. ==="); Controller.PriceToMin(Laboratory.Equipment); Laboratory.ShowList(); Console.WriteLine(new string('=', 35)); Console.WriteLine(); Console.WriteLine("Добавление нового объекта путём чтения данных из текстового файла: "); Product compObjFromFile = (Controller.ReadFromFile(Laboratory.Equipment)); Console.WriteLine(compObjFromFile.ToString()); }