委託類似一箇中間代理人,他允許你將一個對象中的方法傳遞給另一個能調用該方法類中的某個對象,就可以將類a中的一個方法m傳遞給一個類b,這樣類b就能調用類a中的方法了
c#事件處理函數是一個具有特定參數形式的委託對象
public delegate void EventHandler(object sender,EventNameEventArgs e);
第一個參數sender指明瞭觸發該事件的對象,第二個參數(e)包含了在事件處理函數中可以被運用的一些數據
想要編寫一個事件,要進行四個步驟
1.在事件發行者中定義一個事件;
2.在事件發行者中觸發事件,
3.在事件訂閱者中定義事件處理程序
4.向事件發行者訂閱一個事件
出版社類
public class Publisher
{
public delegate void C(string name); //聲明委託
public event C c1 //聲明事件
public void b() //觸發事件的方法
委託允許將方法作爲參數進行傳遞
使用委託分四個步驟:
1.委託定義
2.聲明委託
3.委託實例化(可以和聲明放到一起)
大致是這個樣子的
4.委託調用
private delegate void a(int b)