public void Run() { List <Animal> animals = new List <Animal>(); string command; while ((command = Console.ReadLine()) != "End") { Animal animal = AnimalFactory.AFactory(command.Split(' ', StringSplitOptions.RemoveEmptyEntries)); animals.Add(animal); Console.WriteLine(animal.ProduceSound()); Food food = FoodFactory.FFactory(Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries)); try { animal.EatFood(food); } catch (ArgumentException ex) { Console.WriteLine(ex.Message); } } animals.ForEach(Console.WriteLine); }