委託和事件

2022-05-07 13:57:07 字數 1019 閱讀 7151

1、委託可載入例項方法

2、委託可加減(+=:對方法的繫結,-=:取消對方法的繫結)

public delegate void mydelegate(string message);

class program

public void mydelegate1(string message)

}3、委託可用乙個變數代替

使用委託可以將多個方法繫結到同乙個委託變數,當呼叫此變數時(這裡用「呼叫」這個詞,是因為此變數代表乙個方法),可以依次呼叫所有繫結的方法。

4、使用委託可以將多個方法繫結到同乙個委託變數,當呼叫此變數時(此變數代表乙個方法),可以依次呼叫所有繫結的方法。

二、事件

event封裝修了委託型別的變數,使得,在類的內部,不管你宣告它是public還是protected,它部是private的。在類的外部,註冊「+=」和登出「-=」的訪問一符與你在宣告事件 的使用的訪問符相同。

宣告乙個事件:類似於宣告乙個進行了封裝的委託型別的變數。

定義委託:public delegate void greetingdelegate(string name );

namespace delegate }

}// 發出語音警報

private void makealert(int param)

度了:" , param);

} // 顯示水溫

private void showmsg(int param)

度。" , param); } }

class program} }

observer設計模式:為了定義物件間的一種一對多的依賴關係,以便於當乙個物件的狀態改變時,其他依賴於它的物件會被自動告知並更新。observer模式是一種松耦合的設計模式。

1、委託宣告原形中的object型別的引數代表了subject,也就是監視物件,**函式(比如alarm的makealert)可以通過它訪問觸發事件的物件(heater)。

2、eventargs物件包含了observet所感興趣的資料。

委託和事件

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

委託和事件

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

事件和委託

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