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