C#从入门到精通19 委托(三) 委托的高级使用 多播委托

    xiaoxiao2025-08-08  11

     

    using System; using System.Threading; namespace DelegateExample { class Program { static void Main() { Student stu1 = new Student() { ID = 1, PenColor = ConsoleColor.Yellow }; Student stu2 = new Student() { ID = 2, PenColor = ConsoleColor.Red }; Student stu3 = new Student() { ID = 3, PenColor = ConsoleColor.Green }; Action action1 = new Action(stu1.DoHomework); Action action2 = new Action(stu2.DoHomework); Action action3 = new Action(stu3.DoHomework); //单步委托 //action1.Invoke(); //action2.Invoke(); //action3.Invoke(); //多播委托 action1 += action2; action1 += action3; action1.Invoke(); } } class Student { public int ID { get; set; } public ConsoleColor PenColor { get; set; } public void DoHomework() { for (int i = 0; i < 5; i++) { Console.ForegroundColor = this.PenColor; Console.WriteLine("student {0} doing homework {1} hours", this.ID, i); Thread.Sleep(1000); } } } }

     

    最新回复(0)