我正在重新設計如何處理現有代碼(使用C++)中的事件(與數據相關)。要處理的事件是DataTable
相關事件和XmlNode
相關事件。事件處理繼承(C++)
我想創建一個虛函數,以便在應用程序提供一致性(稱之爲EventManager
)一般的超類。
我打算有在EventManager
下列虛擬功能:
DataChanged(EventArgs arg)
DataChanging(EventArgs arg)
DataInserted(EventArgs arg)
DataInserting(EventArgs arg)
DataRemoved(EventArgs arg)
DataRemoving(EventArgs arg)
我已經使用EventArgs
作爲參數,因爲其他人(XmlNodeChangeEventArgs, DataRowChangeEventArgs, DataColumnChangeEventArgs
)從它派生的。但是通過在虛擬函數中使用它,我將失去獨有於衍生事件參數的信息。
我的問題,我應該怎麼來設計/處理這個超級類和虛函數,以便有一個管理事件的一般類,但仍能正常映射(與所需的所有信息)到派生類?
我盡我所能去解釋我的情況,但請隨時提問,以澄清問題。我真的很想找出答案,所以我願意改進我的問題!
預先感謝您的時間和耐心! :)
根據需要使用引用或const引用,而不是進行復制。 – DumbCoder 2011-06-01 16:21:43