日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

大白话系列之C#委托与事件讲解(二)

發布時間:2025/3/21 C# 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大白话系列之C#委托与事件讲解(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是事件?EVENT?點擊事件?加載事件?一連串的模糊的概念沖擊著我們弱小的腦袋

那我們首先來看一下比較正統的感念吧:

事件是類在發生其關注的事情時用來提供通知的一種方式。

事件的發生一般都牽扯2個角色

事件發行者(Publisher):一個事件的發行者,也稱作是發送者(sender),其實就是個對象,這個對象會自行維護本身的狀態信息,當本身狀態信息變動時,便觸發一個事件,并通知說有的事件訂閱者。

事件訂閱者(Subscriber):對事件感興趣的對象,也稱為Receiver,可以注冊感興趣的事件,在事件發行者觸發一個事件后,會自動執行這段代碼。

為了更好的讓大家理解上面的概念,我先什么都不講,我們先來看一段簡單的代碼:

代碼

????//發布者(Publiser)
????public?class?Publisher
????{
????????//聲明一個出版的委托
????????public?delegate?void?PublishEventHander();
????????//在委托的機制下我們建立以個出版事件
????????public?event?PublishEventHander?OnPublish;
????????//事件必須要在方法里去觸發,出版社發布新書方法
????????public?void?issue()
????????{
????????????//如果有人注冊了這個事件,也就是這個事件不是空
????????????if?(OnPublish?!=?null)
????????????{
????????????????Console.WriteLine("最新一期的《火影忍者》今天出版哦!");
????????????????OnPublish();
????????????}
????????}
????}

????//Subscriber?訂閱者,無賴小明
????public?class?MrMing
????{
????????//對事件感興趣的事情,這里指對出版社的書感興趣
????????public?static?void?Receive()
????????{
????????????Console.WriteLine("嘎嘎,我已經收到最新一期的《火影忍者》啦!!");???????
????????}
????}
????

????//Subscriber?訂閱者,悲情人物小張
????public?class?MrZhang
????{
????????//對事件感興趣的事情
????????public?static?void?Receive()
????????{
????????????Console.WriteLine("幼稚,這么大了,還看《火影忍者》,SB小明!");
????????}
????}

????class?Story
????{
????????public?static?void?Main(string[]?args)
????????{
????????????//實例化一個出版社
????????????Publisher?publisher?=?new?Publisher();

????????????//給這個出火影忍者的事件注冊感興趣的訂閱者,此例中是小明
????????????publisher.OnPublish?+=?new?Publisher.PublishEventHander(MrMing.Receive);
????????????//另一種事件注冊方式
????????????//publisher.OnPublish?+=?MrMing.Receive;

????????????//發布者在這里觸發出版火影忍者的事件
????????????publisher.issue();

????????????Console.ReadKey();
????????}
????}

?

編譯結果如下

?

?

如果童靴們,從上到下仔細看一邊的話,我想應該知道什么是發布者,什么是訂閱者了吧,那至于事件呢

我們先看這句

publisher.OnPublish?+=?new?Publisher.PublishEventHander(MrMing.Receive);

這就是小明向出版社訂閱他喜歡看的火影忍者,小張沒有訂閱所以小張沒有收到書,

?

我們再仔細看看這個賦值語句,是不是似曾相識過呢?是的就是我們在上一講,在講委托聲明的時候,簡直就是一個眸子里刻出來的嘛

委托賦值:

BugTicketEventHandler?myDelegate?=?new?BugTicketEventHandler(MrZhang.BuyTicket);

所以,大家不要對事件有什么好怕的,其實事件的本質就是一個委托鏈,

我們看一下事件的聲明:

??????? //聲明一個出版的委托
????????public?delegate?void?PublishEventHander();
????????//在委托的機制下我們建立以個出版事件
????????public?event?PublishEventHander?OnPublish;
在我們使用事件的時候,必須要聲明對應的委托,而觸發事件,其實就是在使用委托鏈。

好了大家先消化消化這講的內容,我們在下一講里,我們會講到我們期盼已久的Sender,e兩個神秘的參數了

?

from:?https://www.cnblogs.com/wudiwushen/archive/2010/04/20/1703763.html

總結

以上是生活随笔為你收集整理的大白话系列之C#委托与事件讲解(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中国一级特黄视频 | 手机看片91 | 伊人五月婷婷 | 国产三区四区视频 | 波多野在线 | 性色一区二区 | 亚洲精品一线二线三线 | 亚洲国产无码久久 | 草逼国产 | 国产草草浮力影院 | 久久九精品 | 久久93 | 免费大片在线观看www | 国产精品亚洲二区在线观看 | 精品无码av一区二区三区四区 | 成人在线观看网站 | 加勒比hezyo黑人专区 | 国产欧美精品区一区二区三区 | 国产精品高清网站 | 日韩精品视频一区二区 | 国产精品一级无码 | 国产毛片精品国产一区二区三区 | 黄色片网站免费看 | 亚洲精品国产欧美 | 99自拍视频 | 日批网址 | 国产成人精品久久二区二区 | 国产破处av | 亚洲偷拍一区 | 女人久久久| 97人人超 | 成人午夜视频在线免费观看 | 欧美日韩二区三区 | 最新成人在线 | 精品三级av | 婷婷色五 | 90岁肥老奶奶毛毛外套 | 蜜桃视频在线网站 | 操极品女神 | 人人天天夜夜 | 国产激情91 | 波多野结衣久久精品 | 午夜色播| 91黄色小网站 | 精品日韩制服无码久久久久久 | 激情五月网站 | 林雅儿欧洲留学恋爱日记在线 | 久久综合加勒比 | 欧美第一页在线观看 | 国产女女调教女同 | 欧美精品三区 | 日日碰狠狠添天天爽无码 | 中文字幕亚洲无线码在线一区 | 免费黄色高清视频 | 欧美一区二区免费 | 日日爽日日操 | 久久久国产一区二区三区 | 日韩美女少妇 | 精品人妻人人做人人爽夜夜爽 | 国产精品一区二区精品 | 国产99精品视频 | 全部孕妇毛片丰满孕妇孕交 | 网红av在线 | 一色av| 黄色精彩视频 | 久久久夜色精品 | 免费观看91视频 | 国产最爽的乱淫视频国语对白 | 欧美在线精品一区 | 丰满少妇乱子伦精品看片 | 国产麻豆剧果冻传媒白晶晶 | 人妖ts福利视频一二三区 | 欧美人妻少妇一区二区三区 | 国产精品xxx在线 | 永久av在线免费观看 | 国产群p视频 | 日本大乳奶做爰 | av中文天堂在线 | 精品一区电影国产 | 怡红院精品视频 | 熟妇熟女乱妇乱女网站 | 亚洲av乱码一区二区 | 黄色日批网站 | 奇米影视在线播放 | 亚洲毛片视频 | 久久午夜网 | 久久国语精品 | 侵犯女教师一区二区三区 | 国产在线视频你懂得 | 丁香六月婷婷激情 | 欧美日韩综合 | 精品国产亚洲AV | 精品人妻互换一区二区三区 | 国产欧美日韩专区 | 波多野结衣av在线免费观看 | 9久精品 | 成人黄色av网站 | 国产精品18久久久久久久久 | 久久久久人妻一区精品色欧美 |