我想大概得是這麼乙個故事吧!
附上原始碼:
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...