第八章 委託與事件 讀書心得

2022-08-17 21:54:13 字數 1948 閱讀 5598

委託與事件一般情況下都是一起使用,事件是特殊化的委託。

委託:是乙個可以對方法進行引用的型別。

委託型別一旦為委託定義了方法,委託將與該方法具有完全相同的行為,委託方法的呼叫和其他方法呼叫一樣

具有引數和返回值,但分配給委託的方法必須與委託的返回型別和引數組成匹配。

特點:委託類似於c++中的函式指標,但它是型別安全的。

委託允許將方法作為引數進行傳遞。

委託可用於定義**方法。

委託可以鏈結在一起。

方法不必與委託簽名完全匹配。

例子:8.1 使用委託

view code

public

delegate

void myfirstdelegate(string message);

class program

}class myclass

}執行結果:

例子8.2:委託呼叫靜態方法

view code

public

delegate

void myfirstdelegate(string message);

class program

}class myclass

public

void writesecondmessage(string message)

}執行結果:

例子8.3委託作為引數呼叫

view code

public

delegate

void mydelegate(int i,int j);

class program

}class mynewclass

+=",i,j,sum);

}public

static

void product(int i, int j)

*=", i, j, product);

}public

static

void methoddelegate(int i, int j, mydelegate mydelegate)

}執行結果:

例子8.4 多重委託

view code

delegate

void mydelegate(int i,int j);

class program

void method(int i, int j)

+=",i,j,i+j);

}void method1(int i, int j)

*=", i, j, i * j);}}

執行結果:

例子8.5 例項化委託的兩種方法

view code

class program

;mydel("

使用匿名方法例項化委託

");mydel = new mydelegate(program.dowork);

mydel("

不使用匿名方法例項化委託

");console.readkey();

}static

void dowork(string k)

}執行結果:

例子8.6 使用lambda表示式

JavaScript 第八章 事件

編寫乙個通用的事件監聽函式 描述事件冒泡過程 對於乙個無限下拉載入的頁面,如何給每個繫結事件 關於低版本ie相容性問題 var btn document.getelementbyid btn1 btn.addeventlistener click function event 封裝 function...

第八章 指標 第八章 指標

1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...

第八章讀書筆記

本章主要講了蜂鳴器的實驗原理,通過完整的蜂鳴器驅動控制蜂鳴器的開啟與關閉。蜂鳴器是s3c410開發板上帶的乙個硬體裝置。可以通過向暫存器寫入特定的值來控制蜂鳴器發出尖叫聲。蜂鳴器也稱為pwm脈衝寬度調製,基本原理就是通過脈衝來控制蜂鳴器的開啟和停止。pwm驅動的實現方式不同於led驅動,pwm驅動由...