Mega Code Archive

 
Categories / C# / Generics
 

Add object in a hierarchy into a generic Collection

using System; using System.Collections.ObjectModel; using System.Collections.Generic; using System.Text; public class Chicken : Animal {     public void LayEgg() {         Console.WriteLine("{0} Animal.", name);     }     public Chicken(string newName)         : base(newName) {     } } public class Cow : Animal {     public void Milk() {         Console.WriteLine("{0} cow.", name);     }     public Cow(string newName)         : base(newName) {     } } public abstract class Animal {     protected string name;     public string Name {         get {             return name;         }         set {             name = value;         }     }     public Animal() {         name = "animal";     }     public Animal(string newName) {         name = newName;     }     public void Feed() {         Console.WriteLine("{0} is feeding.", name);     } } class Program {     static void Main(string[] args) {         Collection<Animal> animalCollection = new Collection<Animal>();         animalCollection.Add(new Cow("A"));         animalCollection.Add(new Chicken("B"));         foreach (Animal myAnimal in animalCollection) {             myAnimal.Feed();         }     } }