事件和委託解析

2022-09-17 14:33:14 字數 1010 閱讀 3687

事件(event)

物件將處於什麼樣的的場景,然後在該場景下會觸發什麼樣的動作

委託(delegate)

1. 委託的本質是類,類似函式指標,可以降低耦合性,提高安全性

2. 可以實現多執行緒,非同步呼叫,**函式等

3. 委託可以呼叫靜態或非靜態的函式,使得可以的統一標準

4. 多播委託(委託鏈)

**:public delegate void wolfshouteventhandler();  //定義委託

public event wolfshouteventhandler wolfshout;//定義事件

注:當wolfshout事件觸發時執行wolfshouteventhandler委託的方法

場景模擬:灰太狼只要叫一聲「哈,我是灰太狼」,喜羊羊和懶羊羊就說「不好,狼來了,快跑!

class

wolf

public

delegate

void wolfshouteventhandler(); //

定義委託

public

event wolfshouteventhandler wolfshout; //

定義事件

//事件觸發的方法

public

void

shout()

。", this

._name);

if (wolfshout != null) //

判斷事件是否被繫結

}}

class

goat

public

void

run()

快跑!",this

._name);

}

}

class

program

}

public event wolfshouteventhandler wolfshout;定義事件

委託和事件

主要過程如下 1.在後台 中,我們可以定義處理程式方法alartrang 2.然後定義委託,引用到處理程式方法的例項。3.最後將委託新增到事件中。從而,引發事件時就會呼叫相關的事件處理方法。若要使用在另乙個類中定義的事件,必須定義和註冊乙個事件處理程式。事件 處理程式必須具有與為事件宣告的委託相同的...

委託和事件

委託的宣告 public delegate void mydelegate string str 注1.委託的定義和方法的定義類似,只是在前面加了乙個delegate,但委託不是方法,它是一種型別。是一種特殊的型別,看成是一種新的物件型別比較好理解。用於對與該委託有相 同簽名的方法呼叫。2.委託相當...

事件和委託

事件是物件傳送的訊息,以發訊號通知操作的發生。操作可能是由使用者互動 例如滑鼠單擊 引起的,也可能是由某些其他的程式邏輯觸發的。引發事件的物件稱為事件傳送方。捕獲事件並對其作出響應的物件叫做事件接收方。在事件通訊中,事件傳送方類不知道哪個物件或方法將接收到 處理 它引發的事件。所需要的是在源和接收方...