国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

事件理解及初識

2019-11-17 02:26:05
字體:
來源:轉載
供稿:網友

事件理解及初識

類或對象可以通過事件向其他類或對象通知發生的相關事情

發行者確定何時引發事件,訂戶確定執行何種操作來響應該事件。

C#中的事件處理實際上是一種具有特殊簽名的delegate

假設一個場景 :老師登記分數后,學生馬上接收到分數

發布者首先要寫的代碼

1、定義一個委托和事件,寫一個方法,當這個方法調用時觸發事件通知訂閱者

 public class Teacher    {        public delegate void TellScoreEventHandler(object sender, ScoreEventArgs e);        public event TellScoreEventHandler tellScoreEvent;               /// <summary>        /// 通知訂閱者事件發生        /// </summary>        /// <param name="e"></param>        public void OnTellScore(ScoreEventArgs e)        {            if (tellScoreEvent != null)                tellScoreEvent(this, e);        }        /// <summary>        /// 調用方法時,觸發事件        /// </summary>        /// <param name="name"></param>        /// <param name="score"></param>        public void TellStudentSocre(string name,int score)        {            ScoreEventArgs scoreArgs = new ScoreEventArgs(name, score);            OnTellScore(scoreArgs);        }    }    /// <summary>    /// 自定義事件數據的類    /// </summary>    public class ScoreEventArgs : EventArgs    {        public int Score { get; set; }        public string Name { get; set; }        public ScoreEventArgs(string name,int score)        {            this.Name = name;            this.Score = score;        }    }

2、先添加一個訂閱者,后調用發布者中能觸發事件的方法

Student stu = new Student();            Teacher teacher = new Teacher();            teacher.tellScoreEvent += new Teacher.TellScoreEventHandler(stu.teacher_tellScoreEvent);            teacher.TellStudentSocre("奮斗的QB", 100);

3、在訂閱者里處理,當事件發生時,如何處理

 public class Student    {//當事件發生后,如何處理        public void teacher_tellScoreEvent(object sender, ScoreEventArgs e)        {            MessageBox.Show(e.Name + "考了" + e.Score.ToString());        }    }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定安县| 刚察县| 平乡县| 三原县| 高要市| 讷河市| 新乡市| 连云港市| 盈江县| 石城县| 晴隆县| 锡林郭勒盟| 舞阳县| 博罗县| 鹤壁市| 洪泽县| 都昌县| 冀州市| 灵台县| 阿坝县| 吴江市| 元江| 长岛县| 诏安县| 尼木县| 和顺县| 蒙阴县| 六枝特区| 兰坪| 海伦市| 乌兰县| 从江县| 富蕴县| 乡宁县| 介休市| 肇庆市| 禄丰县| 津南区| 中牟县| 屯门区| 漳州市|