我是對Java了解相對較多,而對C#則是因工作需要才去看了一下,C#跟Java在語法上非常相似,而最初讓我比較困惑的就是委托、事件部分,相信大多數初學者也有類似的困惑。經過跟Java的對比學習,發現這其實跟Java的監聽、事件是等同的,只是表述上不同罷了。
委托+事件是觀察者模式的一個典型例子,所謂的委托其實就是觀察者,它會關心某種事件,一旦這種事件被觸發,這個觀察者就會行動。
下面是最近寫的一個例子,相信能夠加深大家對委托和事件的理解。
TimeEventHandler( Main(= Clock(); MyClassEventHandler tehc = MyClassEventHandler(); clock.TimeChanged += TimeEventArgs( hour, minute,.hour =.minute =.second = ShowTime(+args.Hour+ + args.Minute + + TimeChanged = = h1 = m1 = s1 = (= h2 = m2 = s2 = (s2 !==== TimeEventArgs args = TimeChanged(
轉載自:http://ruizhinet.blog.163.com/blog/static/99213828200901110564999/