C 語法學習委託 delegate

2021-09-08 06:34:50 字數 4480 閱讀 7065

/*

* created by sharpdevelop.

* user: administrator

* date: 2008/9/2

* time: 下午 10:23

* 委託(delegate)

委託宣告定義了一種型別,它用一組特定的引數以及返回型別來封裝方法.

對於靜態方法,委託對像封裝要呼叫的方法.

對於例項方法,委託對像同時封裝乙個例項和該例項上的乙個方法.

如果您有乙個委託對像和一組適當的引數,則可以用這些引數呼叫該委託.

* to change this template use tools | options | coding | edit standard headers.

*/using

system;

delegate

void

eatdelegate(

string

food);

//要注意的是委託的返回值型別必須和**的方法一致

//下面的zseat() 是乙個void無返回值型別,所以委託也必需是乙個void型別.

//委託的引數也必需和**的方法一致,引數的個數以及型別都必需一致.

class

mydelegate

static

void

lseat(

string

food)

static

void

wweat(

string

food)

static

void

main()}

/** created by sharpdevelop.

* user: administrator

* date: 2008/9/2

* time: 下午 10:37

* * to change this template use tools | options | coding | edit standard headers.

*//*

* created by sharpdevelop.

* user: administrator

* date: 2008/9/2

* time: 下午 10:23

*上個例子中我們呼叫了三次委託的方法,這樣感覺上挺麻煩的這節課講一下委託鏈

* to change this template use tools | options | coding | edit standard headers.

*/using

system;

delegate

void

eatdelegate(

string

food);

//要注意的是委託的返回值型別必須和**的方法一致

//下面的zseat() 是乙個void無返回值型別,所以委託也必需是乙個void型別.

//委託的引數也必需和**的方法一致,引數的個數以及型別都必需一致.

class

mydelegate

static

void

lseat(

string

food)

static

void

wweat(

string

food)

static

void

main()}

/** created by sharpdevelop.

* user: administrator

* date: 2008/9/2

* time: 下午 10:23

*上個例子中我們呼叫了三次委託的方法,這樣感覺上挺麻煩的這節課講一下委託鏈

* to change this template use tools | options | coding | edit standard headers.

*/using

system;

delegate

void

eatdelegate(

string

food);

//要注意的是委託的返回值型別必須和**的方法一致

//下面的zseat() 是乙個void無返回值型別,所以委託也必需是乙個void型別.

//委託的引數也必需和**的方法一致,引數的個數以及型別都必需一致.

class

mydelegate

static

void

lseat(

string

food)

static

void

wweat(

string

food)

static

void

main()}/*

* created by sharpdevelop.

* user: administrator

* date: 2008/9/2

* time: 下午 10:23

*上個例子中我們呼叫了三次委託的方法,這樣感覺上挺麻煩的這節課講一下委託鏈

* to change this template use tools | options | coding | edit standard headers.

*/using

system;

delegate

void

eatdelegate(

string

food);

//要注意的是委託的返回值型別必須和**的方法一致

//下面的zseat() 是乙個void無返回值型別,所以委託也必需是乙個void型別.

//委託的引數也必需和**的方法一致,引數的個數以及型別都必需一致.

class

mydelegate

;eatchain

+=delegate

(string

food);

eatchain

+=delegate

(string

food);

eatchain(

"西瓜----通過委託呼叫");

//執行結果和前乙個例子一樣.}}

/** created by sharpdevelop.

* user: administrator

* date: 2008/9/2

* time: 下午 10:23

*前幾個例子都是對靜態方法的委託,下面的例子是對動態方法的委託

* to change this template use tools | options | coding | edit standard headers.

*/using

system;

delegate

void

eatdelegate(

string

food);

class

manpublic

void

eat(

string

food)

}class

party

}/** created by sharpdevelop.

* user: administrator

* date: 2008/9/2

* time: 下午 10:23

*下面介紹的是如何把委託做為乙個方法傳遞,並進行動態的呼叫

* webcast 俞暉的"modern c#系統課程"的"深入委託和事件"

* to change this template use tools | options | coding | edit standard headers.

*/using

system;

delegate

void

eatdelegate(

string

food);

class

manpublic

void

eat(

string

food)

}class

party

else

}static

void

main()

} using

system;

public

delegate

void

greetingdelegate(

string

name);

class

test

private

static

void

englishgreeting(

string

name)

private

static

void

chinesegreeting(

string

name)

static

void

main()}

c 語法學習

迴圈和關係表示式 for迴圈 表示式和語句 遞增和遞減,字首式效率更高 組合賦值操作符 復合語句 逗號操作符 關係操作符,和 while迴圈 typedef工具 dowhile迴圈 get 字元輸入方法 檔案尾條件 巢狀迴圈和二維數值 strcmp a,b 判斷兩個字串是否相等 cin如何處理字元輸...

C 基礎語法學習

基本用語區分 解決方案和專案 解決一類問題的方案。比如要建一套房子是不是要有一套解決方案,那是不是要把該方案分解成幾個小專案,如設計,裝修,水電安裝,材料運輸等專案 c 和.net net 是一種平台一種技術,裡面包含著乙個非常大的 庫 可以模擬成 jvm c 是一種語言,我們可以使用c 去呼叫.n...

C 語法學習(6)

1.函式重寫 在子類中定義與父類中原型相同的函式 函式重寫只發生在父類與子類之間 過載與重寫區別 過載 同乙個作用域 子類無法過載父類函式,父類同名函式將被覆蓋 過載是在編譯期間根據引數型別和個數決定 重寫 發生於父類 子類之間 父類和子類函式有相同的函式原型 使用virtual關鍵字宣告後能夠產生...