成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#事件處理簡(jiǎn)單分析

開(kāi)發(fā) 后端
這里介紹C#事件處理,事件既可以被聲明為類域成員(成員變量),也可以被聲明為屬性。兩者的共性為,事件的類型必定是代表元,而函數(shù)指針原形和C#的代表元具有相同的含義。

C#語(yǔ)言還是比較常見(jiàn)的東西,這里我們主要介紹C#事件處理,包括介紹ActiveX控件的事件接收等方面。

C#事件處理

當(dāng)你寫(xiě)一個(gè)類時(shí),有時(shí)有必要讓類的客戶知道一些已經(jīng)發(fā)生的事件。如果你是一個(gè)具有多年編程經(jīng)驗(yàn)的程序員,似乎有很多的解決辦法,包括用于回調(diào)的函數(shù)指針和用于ActiveX控件的事件接收(event sinks)。現(xiàn)在你將要學(xué)到另外一種把客戶代碼關(guān)聯(lián)到類通知的辦法——使用事件。

事件既可以被聲明為類域成員(成員變量),也可以被聲明為屬性。兩者的共性為,事件的類型必定是代表元,而函數(shù)指針原形和C#的代表元具有相同的含義。

每一個(gè)事件都可以被0或更多的客戶占用,且客戶可以隨時(shí)關(guān)聯(lián)或取消事件。你可以以靜態(tài)或者以實(shí)例方法定義代表元,而后者很受C++程序員的歡迎。

既然我已經(jīng)提到了事件的所有功能及相應(yīng)的代表元,請(qǐng)看清單5.11中的例子。它生動(dòng)地體現(xiàn)了該理論。

下列代碼在類中實(shí)現(xiàn)C#事件處理:

  1. using System;  
  2. // 向前聲明  
  3. public delegate void EventHandler(string strText);  
  4. class EventSource  
  5. {  
  6. public event EventHandler TextOut;  
  7. public void TriggerEvent()  
  8. {  
  9. if (null != TextOut) TextOut("Event triggered");  
  10. }  
  11. }  
  12. class TestApp  
  13. {  
  14. public static void Main()  
  15. {  
  16. EventSource evsrc = new EventSource();  
  17. evsrc.TextOut += new EventHandler(CatchEvent);  
  18. evsrc.TriggerEvent();  
  19. evsrc.TextOut -new EventHandler(CatchEvent);  
  20. evsrc.TriggerEvent();  
  21. TestApp theApp = new TestApp();  
  22. evsrc.TextOut += new EventHandler(theApp.InstanceCatch);  
  23. evsrc.TriggerEvent();  
  24. }  
  25. public static void CatchEvent(string strText)  
  26. {  
  27. Console.WriteLine(strText);  
  28. }  
  29. public void InstanceCatch(string strText)  
  30. {  
  31. Console.WriteLine("Instance " + strText);  
  32. }  

【編輯推薦】

  1. C#類和結(jié)構(gòu)簡(jiǎn)單介紹
  2. C# explicti和implicit詳解
  3. C#編寫(xiě)ActiveX控件詳細(xì)介紹
  4. C# StringBuilder和String淺析
  5. C#別名指示符學(xué)習(xí)經(jīng)驗(yàn)
責(zé)任編輯:佚名 來(lái)源: cnbeta
相關(guān)推薦

2009-08-12 15:20:21

C#事件處理

2009-09-07 15:31:49

C#支持事件

2009-08-12 18:28:09

C#事件處理程序

2009-08-07 17:41:40

C#預(yù)處理

2009-08-04 09:56:46

C#事件處理自定義事件

2009-08-27 15:34:38

C#命名空間

2009-08-27 18:05:54

C#索引功能

2009-08-31 18:24:26

編譯C#文件

2009-09-01 17:32:04

C#版本控制

2009-08-26 18:00:07

C#內(nèi)部類

2009-09-01 18:05:17

C#類型聲明

2009-09-01 18:36:35

C#委托實(shí)例

2009-09-03 15:46:57

C#自定義事件

2009-09-02 10:59:02

C#單路代理

2009-09-03 17:13:19

C#建立項(xiàng)目

2009-08-26 14:01:18

C#標(biāo)識(shí)符

2009-09-01 10:08:57

C#運(yùn)算符

2009-09-04 10:07:42

C#完全限定名

2009-08-27 10:44:21

C#靜態(tài)變量

2009-08-31 16:01:31

C#和設(shè)計(jì)模式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日本久久精品视频 | 日韩一区二区三区四区五区六区 | 丁香六月伊人 | 毛片视频免费 | 国产精品美女在线观看 | 日韩精品在线视频免费观看 | 人人种亚洲 | 中文字幕精品一区 | 91精品国产91久久久久久最新 | 日韩综合一区 | 不卡一区二区三区四区 | 亚洲视频免费观看 | 精品日韩一区 | 色婷婷综合成人av | 一区二区三区视频在线观看 | 国产一在线| 久久精品毛片 | 国产精品一区二区福利视频 | 日韩视频国产 | 高清一区二区 | 午夜久久久久久久久久一区二区 | 久久久久久久国产 | 91av在线看| 国产视频久久久 | 欧美日韩成人影院 | 夜夜爽99久久国产综合精品女不卡 | 日韩免费高清视频 | 天天综合久久网 | 伊人狠狠干 | 久久国产精品一区 | 91美女在线 | 久久精品欧美一区二区三区不卡 | 中文字幕av亚洲精品一部二部 | 精品国产精品 | 一区二区成人 | 国产成人一区二 | 亚洲综合一区二区三区 | 久草新在线 | 亚洲精品国产成人 | 日韩精品成人免费观看视频 | 日本a∨精品中文字幕在线 亚洲91视频 |