|
在學(xué)習(xí)C#3.0之前還是先來(lái)回顧下委托、事件,因?yàn)檫@樣能更加有助于理解C#3.0里面的一些新的特性,如Lambada表達(dá)式等。
背景
在C語(yǔ)言中我們可以用函數(shù)指針來(lái)創(chuàng)建回調(diào)函數(shù),但是在C里面回調(diào)函數(shù)存在一些安全問(wèn)題。因?yàn)樗皇窃趦?nèi)存地址中記錄了下來(lái),并沒(méi)有像方法的參數(shù)類(lèi)型、參數(shù)個(gè)數(shù)、返回值等其他安全信息。而在.NET FrameWork中,回調(diào)仍然是可以的,.NET framework中提供了更為高級(jí)的更為安全的面向?qū)ο蟮膁elegate來(lái)實(shí)現(xiàn)。
定義委托
在委托中主要包含了三個(gè)重要的信息:
1.調(diào)用的方法的名稱(chēng);
2.方法的參數(shù);
3.方法的返回值。
定義一個(gè)簡(jiǎn)單的委托:
public delegate int Caculate(int x,int y)
NET技術(shù):C#3.0筆記(一)預(yù)備知識(shí)之Delegate,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。