C 委託事件 言簡意賅

2021-05-23 04:45:14 字數 2446 閱讀 7806

一、c#委託類

委託類似於函式指標,但函式指標只能引用靜態方法,而委託既能引用靜態方法,也能引用例項方法。

委託使用分三步:1、委託宣告;2、委託例項化;3、委託呼叫。

例程一:

程式**

1. using system;

2. 3. namespace 委託

4.

15.

16.          private int add(int num1,int num2)

17.         

20.      }

21. }

22.

例中,委託numope引用了方法add。

委託宣告了以後,就可以象類一樣進行例項化,例項化時把要引用的方法(如:add)做為引數,這樣委託和方法就關聯了起來,就可以用委託來引用方法了。

委託和所引用的方法必須保持一致:

1、引數個數、型別、順序必須完全一致。

2、返回值必須一致。

二、c#事件

事件有很多,比如說滑鼠的事件:mousermove,mouserdown等,鍵盤的事件:keyup,keydown,keypress。

有事件,就會有對事件進行處理的方法,而事件和處理方法之間是怎麼聯絡起來的呢?委託就是他們中間的橋梁,事件發生時,委託會知道,然後將事件傳遞給處理方法,處理方法進行相應處理。

比如在winform中最常見的是按鈕的click事件,它是這樣委託的:this.button1.click += new system.eventhandler(this.button1_click);按按鈕後就會出發button1_click方法進行處理。eventhandler就是系統類庫里已經宣告的乙個委託。-------委託例項化,this.buttion1_click為方法名

三、c#自定義事件及其處理

eventhandler以及其它自定義的事件委託都是一類特殊的委託,他們有相同的形式:

delegate void 事件委託名(object sender,eventargs e);

object用來傳遞事件的發生者,比如二中的button控制項就是乙個事件發生者;eventargs用來傳遞事件的細節。

例程二:

程式**

23. using system;

24.

25. namespace 最簡單的自定義事件

26.

43.              }

44.          }

45.      }

46.

47.      /// < summary>

48.      /// 事件接收類

49.      /// < /summary>

50.      class class2

51.     

58.

59.          private static void c1_onuserrequest(object sender, eventargs e)

60.         

63.      }

64. }

65.

例程三:

程式**

66. using system;

67.

68. namespace 帶事件資料的事件

69.

82.              set

83.             

86.          }

87.      }

88.

89.      /// < summary>

90.      /// 事件傳送類

91.      /// < /summary>

92.      class class1

93.     

109.              }

110.          }

111.      }

112.

113.      /// < summary>

114.      /// 事件接收類

115.      /// < /summary>

116.      class class2

117.     

125.

126.          private static void c1_onuserrequest(object sender, onuserrequesteventargs e)

127.         

130.      }

131. }

132.

例程三跟例程二唯一的差別在於自定義了乙個類onuserrequesteventargs,從eventargs繼承。

至此,c#委託類、c#事件及c#自定義事件就介紹到這裡。

c 委託事件

1,什麼是委託 委託是什麼?從生活理解就像是你是乙個c 程式設計師,你對c 並不了解,當需要進行c 分析的時候你委託給你的一位懂c 的同事幫你來完成 在c 中,委託的作用是這樣描述的 委託就像乙個函式的指標,在程式執行時可以使用它們來呼叫不同的函式。簡單點說,委託能夠引用函式,通過傳遞位址的機制完成...

C 委託事件

一 委託 委託類似於函式指標,但函式指標只能引用靜態方法,而委託既能引用靜態方法,也能引用例項方法。委託使用分三步 1 委託宣告。2 委託例項化。3 委託呼叫。例程一 程式 using system namespace 委託 private int add int num1,int num2 例中,...

C 委託事件

1 namespace222 2324 25 26 建立執行方法 27 28 29 30 31static int stratrun int count,int num count num 3233 34 35 第一步宣告委託 36 37 計算前的總數 38 數字39 計算後的總數 40public...