成人免费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-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-19 10:09:21

C#和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国在线观看 | 免费一区二区三区 | 7777在线| 欧美三区视频 | 国产女人与拘做受视频 | 先锋资源网站 | 日韩不卡视频在线 | 视频一区二区中文字幕 | 亚洲三级av | 日韩一级电影免费观看 | 国产激情在线 | 午夜影院在线观看 | 91看片在线观看 | 婷婷丁香激情 | 婷婷成人在线 | 久久久久久精 | 精品亚洲一区二区 | 亚洲精品一区国产精品 | 久久久99国产精品免费 | 亚洲视频一区二区三区四区 | 免费在线观看一级毛片 | 久久久成人免费一区二区 | 国产欧美日韩视频 | 亚洲欧美成人影院 | 欧美专区日韩专区 | 欧美jizzhd精品欧美巨大免费 | 亚洲电影在线播放 | 亚洲乱码一区二区三区在线观看 | 成人精品一区二区三区中文字幕 | 亚洲图片视频一区 | 久久久久久亚洲国产精品 | 国产精品一区二区在线播放 | 毛片在线看片 | 成人黄在线观看 | 一区二区三区欧美在线观看 | 国产午夜精品一区二区三区在线观看 | 玖玖色在线视频 | 欧美自拍网站 | 欧美色性 | www.狠狠干 |