現實生活中,我們有時候有事很忙,沒辦法自己直接去做,只能委託別人間接去做。比如,我今天生病了,請別人幫我帶飯。在c#中,委託也是同樣道理,不直接呼叫函式,通過委託機制間接呼叫函式。
我們來想象下面場景,開學了,我們遇到了一位漂亮的女生,從我第一眼看上去,我就深深的愛上了她,這就是所謂的一見鐘情。可是這位女生不知道我喜歡她,我就想了幾種表白的方式,第一種,口頭說,感覺最簡單,卻十分直接與俗氣。第二種,寫乙份信,送信給她,讓她自己讀信,更能體現自己的真誠。第三種,送花並大聲說出來,多麼的浪漫…
我們把這些表白方式抽象為表白類
class express
,我喜歡你",name);
}public void letter(string name)
public void flower(string name)
送了一束花,並說我喜歡你", name);
}public void expresslove(string name,int mode)}}
你是乙個害羞的人,選擇了方式二進行表白
class program
}
2023年了,社會在進步,人們表白的方式越來越多,壁咚,單膝跪地,熱氣球,蠟燭…
每多一種方式,我的**肯定得多新增一種函式。
但我不想寫那麼多的swtich case或if else。
怎麼辦?
委託來了
class express
,我喜歡你",name);
}public void letter(string name)
public void flower(string name)
送了一束花,並說我喜歡你", name);
}public void expresslove(string name, mode function)
}
愛就大聲說出來,為你心愛的女生買花
class program
}
不管什麼新的方法,只要適合定義的委託型別,expresslove都可以間接呼叫
public void kiss(string name)
,並說我喜歡你", name);
}
class program
}
執行結果:
你還可以這樣
class program
}
同時使用多種方式表白
很簡單,給委託變數賦值乙個函式名,稱為將函式繫結到委託變數上。
開源一起學習
要想自己學習機器學習,3本 聖經 是一定要看的 花書,西瓜書,和統計學習方法 但不是剛入門就要看的,首先啊,我們必須學好學校教的c語言,對程式設計有乙個初步的了解,其次,我們都知道python的厲害,可以幹很多事,也很出名,這就出現了人人都知道py,但不是人人都懂py的現象。確實要想搞機器學習,你最...
一起學習extjs( )
可以說,extjs是系統類專案最好的ui 前端使用者介面 選擇,特別是自從extjs4.0出來後,不管是 美觀還是效能的提高,及其功能之強大,說它排第一,無可厚非。當然,最近也蠻流行easyui這個輕量級的,據說是國人開發的ui。其實,也是很不錯的。大家可以根據自己專案的情況來進行選擇。然後,我們自...
一起學習開源專案
sharpziplib 開源的zip壓縮 spring.net 框架。nhibernate 開源框架,不過說實話也太龐大了。log4net 寫日誌的類。ibatis.net 強大的資料影射開源專案。ajax.net ajax的服務端類。nant 開源編譯類。nunit 單元測試。cuyahoga 部...