C 事件理解(1)

2021-08-17 07:06:09 字數 1201 閱讀 8793

## 1、定義乙個事件的步驟 ##

### (1)定義乙個委託型別: ###

public delegate onedelegate(int a,int b);

public event onedelegate eventa;

## 2、事件的理解 ##

### (1)事件事實上會擴充套件為兩個隱藏的公共方法 ###

add_eventa()

remove_eventa()

### (2)監聽傳入的事件 寫法: ### 

nameofobject.nameofevent += new relateddelegate(functiontocall);

### (3)登出監聽傳入的事件 寫法: ###

nameofobject.nameofevent += new relateddelegate(functiontocall);

//其中functiontocall代表事件的處理方法

### (4)+=、-=操作符對應上述的add_與remove_方法。 ###

### (5)事件的觸發 寫法: ###

nameofevent(eventargs e)//其中引數與對應的委託型別的引數一致

### (6)舉例說明: ###

//1委託宣告

public delegate void relateddelegate(string str);

//2事件宣告

public event relateddelegate nameofevent;

//3定義事件處理函式

public void functiontocall(string str)

//4註冊監聽事件

nameofobject.nameofevent += new relateddelegate(functiontocall);

//5觸發事件

nameofevent("事件被觸發了");

## 3、匿名方法 ##

使用匿名方法可以將上述例項的步驟1、3、4整合

步驟變為:

//1事件宣告

public event relateddelegate nameofevent;

//2註冊事件

nameofevent += delegate(string str)

;//5觸發事件

nameofevent("事件被觸發了");

理解C 事件

如果做過gui程式開發,可能對上面的描述會比較熟悉。在gui程式中,單擊乙個button會觸發乙個click事件,然後會執行一系列的操作,這一系列的操作就被存放在乙個委託例項中。接下來我們就看看事件。使用委託中的問題 回到前面文章中蘋果和富士康的例子,蘋果將iphone的組裝 包裝和運輸的工作全部委...

理解C 事件

前面文章中介紹了委託相關的概念,委託例項儲存這乙個或一組操作,程式中將在某個特定的時刻通過委託例項使用這些操作。如果做過gui程式開發,可能對上面的描述會比較熟悉。在gui程式中,單擊乙個button會觸發乙個click事件,然後會執行一系列的操作,這一系列的操作就被存放在乙個委託例項中。接下來我們...

C 事件(個人理解)

在現實中,有數不清的可以稱之為事件的情況,比如你拿起了水杯,給手機充電,做乙個專案時,小組負責人給你下達了任務,上市公司的總公司給其旗下的子公司下達任務等等,我們今天就用舉例中的最後乙個例子來說明一下,到底什麼是事件?首先要說的就是乙個個人認為很重要的概念,事件其實就是委託,但是在某些地方又不能這樣...