C 委託及事件

2021-10-25 12:34:28 字數 1130 閱讀 2357

1.什麼是委託

委託(delegate)是乙個類,其定義了方法的型別,以實現將方法作為引數傳入另乙個方法。即委託可看作一種自定義的方法型別,可模擬自定義的資料型別來理解。

使用者如果要使用委託,和c#中引用類的方法一樣,需要乙個例項化的載體。那這個載體就是事件(event)。 

2.什麼是事件

事件是建立在已經定義【委託型別】的基礎上,可看作乙個進行了封裝的委託型別的變數。

3.示例:定義委託(delegate)和事件(event)

//定義委託型別:展示了方法基本結構

public delegate void delegateeventhandler(string _param);

// 基於上面的委託定義事件:可註冊多個實際方法,並根據註冊順序執行

public event delegateeventhandler delegateevent;

public void run1(string _param)

}

public void run2()

}

4.定義方法

public void fun1(string _param)

public void fun2(string _param)

public static void fun3(string _param)

5.示例:註冊方法

delegateclass del = new delegateclass();

funclass fun = new funclass();

del.delegateeventhandler += fun.fun1;

del.delegateeventhandler += (new funclass()).fun2;

del.delegateeventhandler += funclass.fun3;

6.示例:執行方法

del.run("this is a param");

C 委託及事件

有許多人問的,net中的委託以及事件處理。我拿簡單的例子說明一下,是現實中的例子 比如說乙個公司 場景 你是老闆,手下有兩個員工,小張和小王。你命令小王,如果小張玩遊戲,則小王扣去小張500元錢。這就是現實中的委託。實際上,在寫程式中,程式設計師就是老闆,小張和小王就是兩個物件。小張玩遊戲是乙個方法...

C 委託及事件

有許多人問的,net中的委託以及事件處理。我拿簡單的例子說明一下,是現實中的例子 比如說乙個公司 場景 你是老闆,手下有兩個員工,小張和小王。你命令小王,如果小張玩遊戲,則小王扣去小張500元錢。這就是現實中的委託。實際上,在寫程式中,程式設計師就是老闆,小張和小王就是兩個物件。小張玩遊戲是乙個方法...

C 委託及事件委託的初步理解

委託的宣告 public delegate void mydelegate string str 委託是一種特殊的型別 class 用途是來實現對一種方法的封裝。在某種事件發生時,自動呼叫該方法。好處顯然易見,它使使用者可以自定義自己的方法實現,通過封裝,clr會在相應事件激發時呼叫你定義的方法,實...