2011-10-17 86 views
15

唯一類似的問題,我發現這是this和答案建議不得不使用反射器找出。在方法開始或結束時調用基方法?

只是在大多數情況下呢?一般來說,方法中稱爲first或last的基方法是什麼?

我注意到在一些庫中,它在方法開始時被調用,在XNA Framework中它們被稱爲方法的末尾(base.Update,base.Draw等等)。

回答

17

這取決於您是希望您派生的行爲發生在基本行爲之前還是之後。

不要忘記你可以調用中間的基本方法,或根本不需要。

話雖如此,總的來說它將被稱爲第一件事。因爲那麼你的重寫方法可以選擇'覆蓋'由基類完成的設置。

但是在像Close或Dispose這樣的方法中,最後調用它更習慣(有時是強制性的)。

+4

通常情況下,創建場景在開始時會有這些場景。 清理結束。像更新的東西可能會在中間。 –

4

這完全取決於你想要做什麼。關於應該發生什麼並沒有真正的「一般」規則。例如,您可能想要進行一些額外的驗證,然後調用基本方法,然後執行其他操作。或者,也許你只是想要時間基準方法調用多長時間。

將每種情況視爲個人情況。

相關問題