2012-12-13 35 views
0

使用類類型事件優於枚舉事件有什麼優勢?使用類類型事件而不是枚舉事件有什麼優勢?

最初,我認爲使用像Prism中的類類型事件更好,因爲事件可以在編譯時檢查。但經過一番思考,這似乎只適用於字符串引用的事件。枚舉事件看起來也相當不錯。它仍然可以在編譯時檢查,它也可以很容易地重構。

通過類類型的事件,我的意思是這樣的:

eventAggregator.GetEvent<MouseEvent>.Publish(eventArgs); 

而枚舉事件可能看起來像這樣(像在Flex中是如何工作的事件):

eventAggregator.Publish(MouseEvent.Double_Click, eventArgs); 

那麼,使用類類型事件而不是枚舉事件的優點和缺點?枚舉事件的缺點是什麼?

回答

0

枚舉事件的唯一時間可能會有一些小的好處是,許多事件應該觸發相同的一段代碼。但是,與每個事件觸發不同代碼時更常見的缺點相比,這個小的好處是微不足道的。假設你正在創建某種圖書館,如果你可以想象開發者在他們的應用程序中進行多個事件的同義詞,這是一個很好的信號,表明你的事件不是非常明確的定義,並且可能經過重新設計。