Exemplo n.º 1
0
        private static void Main(string[] args)
        {
            Logger.ConsoleLogger ConsLog = new Logger.ConsoleLogger();
            Logger.FileLogger    FileLog = new Logger.FileLogger();
            if (FileLog.OpenLogFile())
            {
                FileLog.GetLog("Создан файл протокола", Logger.RecordTypes.Information);
            }

            Animal crocodile1 = new Crocodile("crocodile", 2026);

            Console.WriteLine(crocodile1); crocodile1.Move();

            Lion lion1 = new Lion("lion", 2010);

            Console.WriteLine(lion1); lion1.Move();
            Tiger tiger1 = new Tiger("tiger", 2001);

            Console.WriteLine(tiger1); tiger1.Move();

            Shark shark1 = new Shark("shark", 2014);

            Console.WriteLine(shark1); shark1.Move();
            ((IVitalActivity)shark1).Eat();
            shark1.VitalActivity();
            ((IVitalActivity)shark1).VitalActivity();

            Owl owl1 = new Owl("owl", 2003);

            owl1.Move();
            Console.WriteLine(owl1);
            Parrot parrot1 = new Parrot("parrot", 2020);

            parrot1.Move();
            Console.WriteLine(parrot1);

            Console.WriteLine("-----------------Массив-----------------");
            Printer a = new Printer();

            Animal[] animals = new Animal[6] {
                crocodile1, lion1, tiger1, shark1, owl1, parrot1
            };
            for (int i = 0; i < animals.Length; i++)
            {
                a.iAmPrinting(animals[i]);
            }

            Zoo zoo = new Zoo();

            zoo.AddToZoo(crocodile1);
            zoo.AddToZoo(lion1);
            zoo.AddToZoo(tiger1);
            zoo.AddToZoo(shark1);
            zoo.AddToZoo(owl1);
            zoo.AddToZoo(parrot1);
            zoo.ShowZoo();
            Controller.AverageWeight(zoo, "lion");
            Console.WriteLine("Количество хищных птиц в зоопарке: {0} ", Controller.PredatoryBirds(zoo));
            Controller.SortByYear(zoo);

            //Owl owl2 = new Owl("owl", 2003, -3); //Assert
            //специальная конструкция, позволяющая проверять предположения о значениях произвольных данных в произвольном месте программы.
            //Эта конструкция может автоматически сигнализировать при обнаружении некорректных данных, что обычно приводит к
            //аварийному завершению программы с указанием места обнаружения некорректных данных.
            try
            {
                ConsLog.GetLog("Из файла-------------------------------------------", Logger.RecordTypes.Message);
                Zoo zoo1 = new Zoo();
                Controller.FillFromFile(zoo1);
                zoo1.ShowZoo();

                Lion lion2 = new Lion("lion", 2017, -7);
            }
            catch (WrongWeightException e)
            {
                ConsLog.GetLog(e);
                FileLog.GetLog(e);
                ConsLog.GetLog("-----------------------------WrongWeightException: ", Logger.RecordTypes.Exception);
                Console.WriteLine(e);
            }
            try
            {
                FileStream newFile = new FileStream("aaa.txt", FileMode.Open);
            }
            catch (IOException)
            {
                ConsLog.GetLog("-----------------------------IOException: Не удалось открыть файл", Logger.RecordTypes.Exception);
                FileLog.GetLog("IOException: Не удалось открыть файл", Logger.RecordTypes.Exception);
            }
            try
            {
                Zoo zoo1 = new Zoo();
                Controller.AverageWeight(zoo);
            }
            catch (ZeroException e)
            {
                ConsLog.GetLog(e);
                FileLog.GetLog(e);
                // throw; снова будет исключение, уже необработанное
            }
            try
            {
                throw new FileExistsException();
            }
            catch (FileExistsException e)
            {
                ConsLog.GetLog(e);
                FileLog.GetLog(e);
                ConsLog.GetLog("Информация", Logger.RecordTypes.Information);
                FileLog.GetLog("Сообщение....", Logger.RecordTypes.Message);
                Console.WriteLine(e);
            }
            try
            {
                ConsLog.GetLog("Вызов неопознанного исключения", Logger.RecordTypes.Message);
                FileLog.GetLog("Вызов неопознанного исключения", Logger.RecordTypes.Message);
                Byte bbb = 99;
                bbb = checked ((byte)(bbb + 9999999));
                throw new Exception();
            }
            catch (Exception e) when(e.GetType() != typeof(System.OverflowException))
            {
                ConsLog.GetLog("Вызван общий обработчик исключений (кроме OverflowException)", Logger.RecordTypes.Exception);
                FileLog.GetLog("Вызван общий обработчик исключений(кроме OverflowException)", Logger.RecordTypes.Exception);
            }
            catch
            {
                ConsLog.GetLog("Вызван универсальный обработчик исключений", Logger.RecordTypes.Exception);
                FileLog.GetLog("Вызван универсальный обработчик исключений", Logger.RecordTypes.Exception);
            }
            finally
            {
                Console.WriteLine("_____________________________________________");
                Console.WriteLine("КОНЕЦ");
                Console.WriteLine("Finally выполняется всегда, кроме StackOverFlowException, System.Exit(0)");

                FileLog.GetLog("Файл протокола закрывается...", Logger.RecordTypes.Information);
                FileLog.CloseLogFile();
            }
        }
Exemplo n.º 2
0
        private static void Main(string[] args)
        {
            Animal crocodile1 = new Crocodile("crocodile", 2026);

            Console.WriteLine(crocodile1); crocodile1.Move();

            Lion lion1 = new Lion("lion", 2010);
            Lion lion2 = new Lion("lion", 2017);

            Console.WriteLine(lion1); lion1.Move();
            Tiger tiger1 = new Tiger("tiger", 2001);

            Console.WriteLine(tiger1); tiger1.Move();

            Shark shark1 = new Shark("shark", 2014);

            Console.WriteLine(shark1); shark1.Move();
            ((IVitalActivity)shark1).Eat();
            shark1.VitalActivity();
            ((IVitalActivity)shark1).VitalActivity();

            Owl owl1 = new Owl("owl", 2003);

            owl1.Move();
            Console.WriteLine(owl1);
            Parrot parrot1 = new Parrot("parrot", 2020);

            parrot1.Move();
            Console.WriteLine(parrot1);

            Console.WriteLine("-----------------Массив-----------------");
            Printer a = new Printer();

            Animal[] animals = new Animal[6] {
                crocodile1, lion1, tiger1, shark1, owl1, parrot1
            };
            for (int i = 0; i < animals.Length; i++)
            {
                a.iAmPrinting(animals[i]);
            }

            Zoo zoo = new Zoo();

            zoo.AddToZoo(crocodile1);
            zoo.AddToZoo(lion1);
            zoo.AddToZoo(lion2);
            zoo.AddToZoo(tiger1);
            zoo.AddToZoo(shark1);
            zoo.AddToZoo(owl1);
            zoo.AddToZoo(parrot1);
            zoo.ShowZoo();
            Controller.AverageWeight(zoo, "lion");
            Console.WriteLine("Количество хищных птиц в зоопарке: {0} ", Controller.PredatoryBirds(zoo));
            Controller.SortByYear(zoo);

            Console.WriteLine("Из файла________________");
            Zoo zoo1 = new Zoo();

            Controller.FillFromFile(zoo1);
            zoo1.ShowZoo();
        }
        static void Main(string[] args)
        {
            Zoo    zoo        = new Zoo("Slaski ogrod zoologiczny");
            Animal dog        = new Mammal("flesh", 4, "Europe", "Gray Wolf", "Europe");
            Animal cow        = new Mammal("grass", 4, "Europe", "B. taurus", "Europe");
            Animal crocodile1 = new Reptile("flesh", 4, "Africa", "C. niloticus", false);
            var    animals1   = zoo.Set <Animal, Zoo>().AddRange(new List <Animal>
            {
                dog, cow, crocodile1
            });
            Cage cage1 = new Cage(4, false, animals1);

            cage1.DisplayInfo();
            Animal horse = new Mammal("Grass", 4, "North America, Europe", "E. ferus", "Europe");

            Animal falcon   = new Bird("flesh", 2, "Europe", "Falconidae", 1.2, 125);
            var    animals2 = zoo.Set <Animal, Zoo>().AddRange(new List <Animal>()
            {
                horse,
                falcon
            });

            Cage cage2 = new Cage(3, false, animals2);

            cage2.DisplayInfo();

            Cage cage3  = new Cage(10, false, new List <Animal>());
            var  cages1 = zoo.Set <Cage, Zoo>().AddRange(new List <Cage>()
            {
                cage1,
                cage2
            });
            var cages2 = zoo.Set <Cage, Zoo>().AddRange(new List <Cage>()
            {
                cage3
            });
            Employee employee1 = new Maintainer("Jan", "Kowalski", new DateTime(1990, 1, 1), DateTime.Now, cages1);
            Employee employee2 = new Maintainer("Adam", "Nowak", new
                                                DateTime(1988, 1, 1), DateTime.Now, cages2);
            var employees = zoo.Set <Employee, Zoo>().AddRange(new List <Employee>()
            {
                employee1,
                employee2
            });
            Animal cobra      = new Reptile("flesh", 0, "Africa", "Serpentes", true);
            Cage   cage4      = zoo.ConstructCage(10, false);
            var    newEmploee = zoo.HireEmployee("Robert", "Kowalczyk", new DateTime(1988, 1, 1));

            ((Maintainer)newEmploee).Set <Cage, Maintainer>().Add(cage4);
            cage4.Set <Animal, Cage>().Add(cobra);
            zoo.Set <Cage, Zoo>().Add(cage4);
            zoo.ExpandCage(cage4, 5);
            Console.WriteLine();
            Console.WriteLine("+++++++++++++++++++++++++++++++++++++++");
            Console.WriteLine();
            employees.PrintInfo();
            Console.WriteLine();
            Console.WriteLine("+++++++++++++++++++++++++++++++++++++++");
            Console.WriteLine();
            Console.WriteLine();
            zoo.Print();
            Console.WriteLine();
            Console.WriteLine("+++++++++++++++++++++++++++++++++++++++");
            Console.WriteLine();
            zoo.DisplayAllCages();
            Console.WriteLine();
            Console.WriteLine("+++++++++++++++++++++++++++++++++++++++");
            Console.WriteLine();
            zoo.Print();
            Console.ReadKey();
        }