/// <summary>
        /// 增订教材;
        /// </summary>
        /// <param name="sender">事件发送方</param>
        /// <param name="e">选课事件参数</param>
        public void AddBookOrder(object sender, SelectCourseEventArgs e)                    //注册至事件的函数的签名必须与委托定义一致;
        {
            this.BookOrderCount++;
            Student student = sender as Student;

            WriteLine($"\n已为学生{student.Name}增订教材,当前共需订购教材{this.BookOrderCount}本。");
        }
Beispiel #2
0
        public event SelectCourseEventHandler SelectCourseEvent;                                    //定义事件;事件即多播委托;事件必须定义在类内部;
        /// <summary>
        /// 触发选课事件;
        /// </summary>
        /// <param name="courseName">课程名称</param>
        private void OnSelectCourse(string courseName)
        {
            var e = new SelectCourseEventArgs(courseName);

            this.SelectCourseEvent?.Invoke(this, e);                                                    //触发事件,即调用多播委托中注册的所有事件处理函数;事件必须在类内部触发;还需根据需要创建事件参数;
        }
        /// <summary>
        /// 通知;
        /// </summary>
        /// <param name="sender">事件发送方</param>
        /// <param name="e">选课事件参数</param>
        public static void InformAfterSelectCourse(object sender, SelectCourseEventArgs e)                  //注册至事件的函数的签名必须与委托定义一致;
        {
            Student student = sender as Student;

            WriteLine($"\n发送短信至手机{student.PhoneNumber}:已成功选修《{e.CourseName}》。\n");
        }