private static void CreateAnimal(List <Animal> animals, string animal, string name, int age, string gender) { Animal currentAnimal; switch (animal) { case "Cat": currentAnimal = new Cat(name, age, gender); animals.Add(currentAnimal); break; case "Kitten": currentAnimal = new Kitten(name, age, gender); animals.Add(currentAnimal); break; case "Tomcat": currentAnimal = new Tomcat(name, age, gender); animals.Add(currentAnimal); break; case "Dog": currentAnimal = new Dog(name, age, gender); animals.Add(currentAnimal); break; case "Frog": currentAnimal = new Frog(name, age, gender); animals.Add(currentAnimal); break; default: Console.WriteLine("Invalid input!"); break; } }
static void Main(string[] args) { string animalType = string.Empty; while ((animalType = Console.ReadLine()) != "Beast!") { try { string[] animalArgs = Console.ReadLine().Split(); string animalName = animalArgs[0]; int animalAge; if (!int.TryParse(animalArgs[1], out animalAge)) { throw new ArgumentException("Invalid input!"); } string animalGander = animalArgs[2]; switch (animalType) { case "Dog": Dog dog = new Dog(animalName, animalAge, animalGander); PrintAnimalProperties(dog); Console.WriteLine(dog.ProduceSound()); break; case "Cat": Cat cat = new Cat(animalName, animalAge, animalGander); PrintAnimalProperties(cat); Console.WriteLine(cat.ProduceSound()); break; case "Frog": Frog frog = new Frog(animalName, animalAge, animalGander); PrintAnimalProperties(frog); Console.WriteLine(frog.ProduceSound()); break; case "Kittens": Kittens kittens = new Kittens(animalName, animalAge, animalGander); PrintAnimalProperties(kittens); Console.WriteLine(kittens.ProduceSound()); break; case "Tomcat": Tomcat tomcat = new Tomcat(animalName, animalAge, animalGander); PrintAnimalProperties(tomcat); Console.WriteLine(tomcat.ProduceSound()); break; } } catch (ArgumentException ae) { Console.WriteLine(ae.Message); } } }