C 中的事件和委託

2021-07-31 18:16:33 字數 1218 閱讀 8941

我想大概得是這麼乙個故事吧!

附上原始碼:

using

system

;namespace

起床事件

public

delegate

void

這是乙個委託

();public

class

室友console

.writeline

("室友:完事走人,晨跑去!");}

public

event

這是乙個委託

叫別人起床該幹嘛幹嘛;}

public

class

要晨讀的我

}public

class

王八犢子}}

}

覺得這樣直接貼**,不做解釋的話,可能還令人不太理解,再補充下概念。

方法:具體去做什麼事實際內容,可以是早讀,晨跑,或者是叫別人起床。

委託:將方法當做值。就像整數型值3能賦給乙個int型別的變數,方法可以賦值給相同引數的委託型別變數。通過關鍵字delegate定義。

事件:乙個需要先定義的委託型別關鍵字event來定義。具體就是可以承載方法。

事件的用法:不講編譯器幫我們做的正規使用方法,因為我自己也不太清楚。直接用語法糖,事件變數 += 需要掛接的方法.然後就是在內部處理,何時去觸發這個事件了事件變數(),當然其形參的定義就看委託型別的定義了,亦可以將事件變數裡面的掛接的方法逐個處理,這就等理解事件並能簡單實用後,再去查資料啦~~

ps:可能我理解的有些誤區,但管他呢我知道這麼用能完成我的需求。原理什麼的想知道的話看書去啦!

如果你用過c/c++ 的函式指標,那麼跟你說委託就是函式指標,事件就是儲存多個函式指標的陣列就夠了。

C 中的委託和事件

委託類似於c 中的函式指標,c 中的委託申明如下 delegate void mydelegate 只要該委託執行的方法與委託申明的簽名一致,就能呼叫委託來執行該方法,例如在本例中,有個方法為 void method 那麼就可以如下呼叫 mydelegate delegate new mydeleg...

C 中的委託和事件

委託 和 事件在 net framework中的應用非常廣泛,然而,較好地理解委託和事件對很多接觸c 時間不長的人來說並不容易。它們就像是一道檻兒,過了這個檻的人,覺得真是太容易了,而沒有過去的人每次見到委託和事件就覺得心裡憋得慌,渾身不自在。本文中,我將通過兩個範例由淺入深地講述什麼是委託 為什麼...

C 中的委託和事件

較好地理解委託和事件對很多接觸c 時間不長的人來說並不容易。它們就像是一道檻兒,過了這個檻的人,覺得真是太容易了,下面的例子如果能很好的理解了,那麼基本的委託和事件就基本有所了解了!namespace 委託和事件 方法三委託的定義 public delegate void greetdelegate...