static void Main(string[] args) { Gato gato = new Gato(); Perro perro = new Perro(); List <Animal> zoo = new List <Animal>(); zoo.Add(gato); zoo.Add(perro); foreach (var item in zoo) { item.HacerRuido(); } //El foreach equivale a hacer lo siguiente gato.HacerRuido(); perro.HacerRuido(); Console.Read(); }