//TEST 3 public void MilkAnimals(IMilkableAnimal milkableAnimal) { //Console.WriteLine("Cannot identify the farm animals which can be milked"); foreach (IAnimal animal in _includeAnimals) { if (animal is IMilkableAnimal) { Console.WriteLine(animal.GetType().Name + " was milked!"); } } }
//TEST 3 public void MilkAnimals(List <IAnimal> animals) { //Console.WriteLine("Cannot identify the farm animals which can be milked"); foreach (IAnimal animal in animals) { foreach (Type tinterface in animal.GetType().GetInterfaces()) { if (tinterface == typeof(IMilkableAnimal)) { //Console.WriteLine("Cow was milked"); IMilkableAnimal milkable = (IMilkableAnimal)animal; milkable.ProduceMilk(); } } } }
//TEST 3 public void MilkAnimals() { if (animalStock.Count > 0) { foreach (var animal in animalStock) { //judge whether the animal implement IMilkableAnimal interface if (animal is IMilkableAnimal) { IMilkableAnimal milkAnimal = animal as IMilkableAnimal; milkAnimal.ProduceMilk(); } } } else { Console.WriteLine("There are no animals in the farm"); } }