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

C#支持事件簡單描述

開發 后端
這里介紹C#支持事件,當前很多主流程序語言處理事件的方式各不相同,Delphi采用的是函數指針、Java用改編類來實現、VC用WindowsAPI的消息系統,而C#則直接使用delegate和event關鍵字來解決這個問題。

本文向大家介紹C#支持事件,可能好多人還不了解C#支持事件,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

這里介紹C#支持事件(這個特點也是MSVJ所具有的),當前很多主流程序語言處理事件的方式各不相同,Delphi采用的是函數指針(這在Delphi中的術語是“closure”)、Java用改編類來實現、VC用WindowsAPI的消息系統,而C#則直接使用delegate和event關鍵字來解決這個問題。下面讓我們來看一個例子,例子中會給大家舉出聲明、調用和處理事件的全過程。

  1. //首先是指代的聲明,它定義了喚醒某個函數的事件信號  
  2. public delegate void ScoreChangeEventHandler (int newScore, ref bool cancel);  
  3.  
  4. //定義一個產生事件的類  
  5. public class Game  
  6. {  
  7. // 注意這里使用了event關鍵字  
  8. public event ScoreChangeEventHandler ScoreChange;  
  9. int score;  
  10. // Score 屬性  
  11. public int Score  
  12. {  
  13. get {  
  14. return score;  
  15. }  
  16. set {  
  17. if (score != value)  
  18. {  
  19. bool cancel = false;  
  20. ScoreChange (value, ref cancel);  
  21. if (! cancel)  
  22. score = value;  
  23. }  
  24. }  
  25. }  
  26.  
  27.  
  28. // 處理事件的類  
  29. public class Referee  
  30. {  
  31. public Referee (Game game)  
  32. {  
  33. // 裁判負責調整比賽中的分數變化  
  34. game.ScoreChange += new ScoreChangeEventHandler (game_ScoreChange);  
  35. }  
  36.  
  37. // 注意這里的函數是怎樣和ScoreChangeEventHandler的信號對上號的  
  38. private void game_ScoreChange (int newScore, ref bool cancel)  
  39. {  
  40. if (newScore < 100)  
  41. System.Console.WriteLine ("Good Score");  
  42. else  
  43. {  
  44. cancel = true;  
  45. System.Console.WriteLine ("No Score can be that high!");  
  46. }  
  47. }  
  48. }  
  49.  
  50. // 主函數類,用于測試上述特性  
  51. public class GameTest  
  52. {  
  53. public static void Main ()  
  54. {  
  55. Game game = new Game ();  
  56. Referee referee = new Referee (game);  
  57. game.Score = 70;  
  58. game.Score = 110;  
  59. }  
  60. }  

在主函數中,我們創建了一個game對象和一個裁判對象,然后我們通過改變比賽分數,來觀察裁判對此會有什么響應。以上介紹C#支持事件。

【編輯推薦】

  1. C#線程同步詳細分析
  2. C#探討木馬程序淺談
  3. C# Pop3Connection類簡介
  4. C#數據類型簡單介紹
  5. C#計算素數序列淺談
責任編輯:佚名 來源: 博客園
相關推薦

2009-09-02 17:38:16

C#泛型支持

2009-09-03 15:46:57

C#自定義事件

2009-08-31 18:32:01

C# ListBoxE

2009-08-12 18:28:09

C#事件處理程序

2009-08-19 10:09:21

C#和C++

2009-09-01 18:25:32

C#結構實例

2009-09-07 14:33:02

C# switch語句

2009-08-21 17:31:58

C#垃圾回收

2009-08-13 17:58:34

C#存儲過程

2009-09-02 13:01:11

C#多路廣播

2009-09-16 09:01:40

C#多維數組

2009-08-28 09:30:48

C#命名屬性

2009-08-27 10:01:52

C#自動屬性

2009-09-01 17:08:35

C# Color枚舉

2009-09-03 16:55:58

C#引用類型

2009-08-20 16:45:03

C#哈希值

2009-08-26 14:54:23

C# new和over

2009-08-31 17:53:20

C#實現索引器

2009-09-17 16:28:27

C#參差數組

2009-09-02 10:39:00

C#釋放托管資源
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品网 | 日韩视频一区二区三区 | 国产精品国产精品国产专区不片 | 国产精品欧美大片 | 91久久精品国产91久久性色tv | 久久国产亚洲 | 国产在线中文字幕 | 黄网站免费在线观看 | 中文精品一区二区 | 少妇精品亚洲一区二区成人 | 成人一级黄色毛片 | 五月天综合影院 | 欧美黄a| 欧美激情视频一区二区三区在线播放 | 麻豆国产精品777777在线 | 成人网av | 国产精品久久久久久久久久 | 国产免费av在线 | 国产精品爱久久久久久久 | 亚洲国产一区二区视频 | 国产一区二区成人 | 在线成人精品视频 | 亚洲国产精品久久 | 国产一区日韩在线 | 狠狠色狠狠色综合日日92 | 国产乱码精品一区二区三区忘忧草 | 婷婷色国产偷v国产偷v小说 | 综合久久久 | 欧洲一区在线观看 | 一级无毛片 | 五月激情综合网 | 狠狠操你| 狠狠亚洲 | cao在线| 亚洲精品免费在线观看 | 黄在线免费观看 | 中文字幕一区二区三区日韩精品 | 一级毛片视频 | 免费激情网站 | 欧美精品成人一区二区三区四区 | 欧美自拍第一页 |