第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

C#基礎(chǔ)知識(shí),事件(二)

標(biāo)簽:
C#

上篇文章介绍了C#中事件的基本实现方式,在本文中,将对最常见的事件委托EventHandler和EventHandler<T>做介绍。

事实上,在前面文章的介绍中,已经涉及到了EventHandler和EventHandler<T>。在C# 2.0泛型出现之前,EventHandler对C#中最常见的事件处理函数进行了签名定义,它指代了这样一些函数,这些函数没有返回值,有两个参数,第一个参数的类型是object,而第二个参数的类型是EventArgs。

在引入泛型之后,.NET Framework加入了EventHandler<T>委托,与EventHandler不同的是,其第二个参数的类型由T指定,而且该类型必须由EventArgs继承。这一点从下面的定义与泛型约束可以看出。

view plaincopy to clipboardprint?

  1. [Serializable]   

  2. public delegate void EventHandler<TEventArgs>(object sender, TEventArgs e)    

  3. where TEventArgs: EventArgs;  

现在再回过头来看上文中“服务器”的例子,在该例中,我们新定义了一个事件委托“ServerEventHandler”,事实上,在C# 2.0中,我们也可以使用EventHandler<ServerEventArgs>委托,效果是完全相同的,因为“ServerEventHandler”与“EventHandler<ServerEventArgs>”所指代的函数具有相同的签名形式。因此,在定义事件的时候,可以采用下面的形式,这样看上去更为规范:

view plaincopy to clipboardprint?

  1. /// <summary>   

  2. /// 定义一个事件,当服务器正常启动后,触发该事件   

  3. /// </summary>   

  4. public event EventHandler<ServerEventArgs> Started;   

  5. /// <summary>   

  6. /// 定义一个事件,当服务器正常结束后,触发该事件   

  7. /// </summary>   

  8. public event EventHandler<ServerEventArgs> Stopped;   

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消