2012-04-12 70 views
0

所以我有一個派生自GameComponent的類。在類中提供了這個方法:不執行的覆蓋方法

public override void Initialize(){ 
    base.Initialize(); 
} 

我已經看到了多源裏的人做同樣的事情,他們重寫初始化方法,但有除base.Initialize通話過程中沒有實現。我不明白這一點,因爲爲什麼有方法,如果它不做任何事情?如果你不包含重載方法,那麼GameComponent類中的虛擬方法將被默認調用?我從字面上理解了整個方法,沒有發生任何不同。

把這個簡短的重寫方法沒有實現的重點是什麼?

回答

0

是的,你所展示的完全等同於根本沒有重寫它;實際上,Resharper會建議刪除這種方法,因爲這是不必要的混亂。

爲了技術上的重寫,只調用base方法不是'沒有實現',它是默認的實現,或者沒有額外的實現。沒有實施將overridding,然後衝裁方法:

public override void Initialize() 
{ 
    // no implementation 
} 

你不會想這樣做,在這種情況下,但也有情況下,您可能希望。

0

無。

原因是GameComponent模板包含它以指導您如何實施。