委託 事件概念

2022-09-20 14:39:13 字數 1292 閱讀 1446

一、委託

委託為安全的函式指標,提供了程式**指定方法的機制;思想在於將工作委派給其他特定的型別、元件、方法或程式集,委託的使用者可以理解為工作的分派者,在通常情況下使用者清楚地知道哪些工作需要執行、執行的結果又是什麼,但是他不會親自地去做這些工作,而是恰當地把這些工作分派出去。

二、事件

事件是一種使物件或類能夠提供通知的成員,客戶端可以通過提供事件處理程式為相應的事件新增可執行**。

三、事件和委託有神馬聯絡

1、委託本質是乙個型別,而事件本質是乙個特殊的委託型別的例項,事件提供了兩個供訂閱事件和取消訂閱的方法:add_event和remove_event,其本質都是基於委託鏈來實現。

2、eventhandler是.net框架中提供的一種標準的事件模式,它是乙個特殊的泛型委託型別;

[serializable]

public

delegate

void eventhandler(object sender, teventargs e);

3、訂閱事件的本質是呼叫delegate的combine方法將事件處理方法繫結到委託鏈中。

l_0000: ldarg.0

l_0001: ldfld

class [mscorlib]system.eventhandler`1

consoleeventdemo.consolemanager::consoleevent

l_0006: stloc.

0l_0007: ldloc.

0l_0008: stloc.

1l_0009: ldloc.

1l_000a: ldarg.

1l_000b: call

class [mscorlib]system.delegate [mscorlib]system.delegate::combine(class [mscorlib]system.delegate, class

[mscorlib]system.delegate)

l_0010: castclass [mscorlib]system.eventhandler`

1l_0015: stloc.

2l_0016: ldarg.

0l_0017: ldflda

class [mscorlib]system.eventhandler`1

consoleeventdemo.consolemanager::consoleevent

摘抄自:

c 委託事件

1,什麼是委託 委託是什麼?從生活理解就像是你是乙個c 程式設計師,你對c 並不了解,當需要進行c 分析的時候你委託給你的一位懂c 的同事幫你來完成 在c 中,委託的作用是這樣描述的 委託就像乙個函式的指標,在程式執行時可以使用它們來呼叫不同的函式。簡單點說,委託能夠引用函式,通過傳遞位址的機制完成...

初識委託 事件

這個是我剛入行第乙個感興趣的知識點,翻了翻不知道什麼時候記的筆記,覺得有必要把自己學的知識在梳理一遍,有一些點比當時更清晰 在這裡,先將一位大牛的部落格貼出來,有興趣的可以去看看,很詳細的介紹了委託與事件,讀了幾遍受益匪淺 c 中的委託和事件 c 中的委託和事件 續 本文例項是在vs2013下實現的...

C 委託事件

一 委託 委託類似於函式指標,但函式指標只能引用靜態方法,而委託既能引用靜態方法,也能引用例項方法。委託使用分三步 1 委託宣告。2 委託例項化。3 委託呼叫。例程一 程式 using system namespace 委託 private int add int num1,int num2 例中,...