[心得] C# delegate and event
最近因有傳檔的需要,因此撰寫c#網路程式,
使用Socket非同步BeginXXXX()來取代網路上最泛用的While Loop+Thread
它類似delegate的觀念來進行callback。
因為有c++ function pointer的基礎與實作經驗
我對於c# event的運作大概還了解
不過套用到ftp server的實作上
切分了角色如:
FtpServer -> FtpListener -> FtpSession.Add()
每個FtpSession有兩個成員,
即FtpDataController、FtpDataTransfer
面對user的可能斷線問題,終於得善用c#的delegate及event概念
發現這兩篇文章寫得不錯:
C# delegate and event:
http://www.akadia.com/services/dotnet_delegates_and_events.html
event與delegate的差異:
http://blog.monstuff.com/archives/000040.html
第1篇屬於有例子的文章,容易看懂但若沒實作會沒啥感覺
不過若能完全了解第2篇的差異點
大概能明白兩者的異同處。
event真的很好用,尤其針對需要處理事務的class,
若能善用它,就能把動作抽到外部類別作去實作handler
每個class就不用包山包海寫得一大堆。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.217.195.21
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章
7
20