static void GetMoreHeroData(ISuperHero hero) { SuperMan superman = hero as SuperMan; if (superman != null) { Console.WriteLine(superman.Speed); } else { SpiderMan spiderMan = hero as SpiderMan; if (spiderMan != null) { Console.WriteLine(spiderMan.WebLeft); } else { Flash flash = hero as Flash; if (flash != null) { Console.WriteLine(flash.Voltage); } else { Console.WriteLine("Hero not recognized!"); } } } }
static void Main(string[] args) { SuperMan clarkKent = new SuperMan("Clark Kent", 19, 899999); SpiderMan petterParker = new SpiderMan("Petter Parker", 18, 8.7); Flash berryAllen = new Flash("Berry Allen", 16, 100.9); ISuperHero[] superHeroes = new ISuperHero[3]; superHeroes[0] = clarkKent; superHeroes[1] = petterParker; superHeroes[2] = berryAllen; ISuperHero[] superHeroesSograim = { clarkKent, petterParker, berryAllen }; ISuperHero[] superHeroesSograimNew = { new SuperMan("Clark Kent", 19, 899999), new SpiderMan("Petter Parker", 18, 8.7), new Flash("Berry Allen", 16, 100.9) }; foreach (ISuperHero hero in superHeroes) // LINQ { ActivateHero(hero); } }