public static void Counting(Object sender, ScoreEventArgs e) { BasketBallPlayer player = (BasketBallPlayer)sender; //访问 sender 中的公共字段 Console.WriteLine(player.Score + "分进账!"); Console.WriteLine("又涨分了\n"); Console.WriteLine(); }
public static void Cheer(Object sender, ScoreEventArgs e) { BasketBallPlayer player = (BasketBallPlayer)sender; //访问 sender 中的公共字段 Console.WriteLine(player.Score + "分进账!"); Console.WriteLine("观众欢呼MVP.\n"); Console.WriteLine(); }
private IAthlete GetAthlete(SportType sportType) { //Interfaces define contracts that a subscribing class must implement //However, the fact that you can store a classes object in an interface //references adds tremendous flexibility to your code switch (sportType) { case SportType.Football: IAthlete footballPlayer = new FootballPlayer(); return(footballPlayer); case SportType.Basketball: IAthlete basketBallPlayer = new BasketBallPlayer(); return(basketBallPlayer); default: IAthlete baseballPlayer = new BaseballPlayer(); return(baseballPlayer); } }
private void button3_Click(object sender, EventArgs e) { //this shows how to combine interfaces and generics //to create a flexible class GetName getName = new GetName(); FootballPlayer footballPlayer = new FootballPlayer(); footballPlayer.FirstName = "Tom"; footballPlayer.LastName = "Brady"; BasketBallPlayer basketBallPlayer = new BasketBallPlayer(); basketBallPlayer.FirstName = "Lebron"; basketBallPlayer.LastName = "James"; string footballName = getName.GetValue <FootballPlayer>(footballPlayer); string basketBallName = getName.GetValue <BasketBallPlayer>(basketBallPlayer); }