事件是委托的实例
三大特性订阅,触发,发布
学生,老师,学校三个类
学校有个方法叫上课倒计时,学生和老师订阅了这个方法,有一个事件叫上课铃,学生和老师有个方法叫上课去了。
学生和老师的“上课去了”方法注册到“上课”事件中。当学校倒计时结束调用这个事件,发布上课消息,学生和老师收到就会触发“上课去了”方法。
internal class Program { static void Main(string[] args) { //实例化对象 School school = new School(); Student student = new Student(); Teacher teacher = new Teacher(); //将学生和老师的GoToClass方法订阅到学校的GoToClass方法上 school.GoToClass += student.GoToClass; school.GoToClass += teacher.GoToClass; school.Cook(); Console.ReadLine(); } } public class School { //定义GoToClass事件,用于发布上课消息 public event Action GoToClass; public void Cook() { Console.WriteLine("学校:午休时间到!"); //午休时间到,发布上课消息 GoToClass?.Invoke(); } } public class Student { public void GoToClass() { Console.WriteLine("学生:去上课啦!"); } } public class Teacher { public void GoToClass() { Console.WriteLine("老师:去上课啦!"); } }
标签:上课,Console,void,school,GoToClass,事件,net,public From: https://www.cnblogs.com/lin-07/p/17589071.html