2011-10-17 2 views
15

L'unica domanda simile trovata è stata this e la risposta ha suggerito di utilizzare Reflector per scoprirlo.Metodo di chiamata base all'inizio o alla fine del metodo?

Che dire nella maggior parte dei casi? In genere, il metodo di base è chiamato primo o ultimo in un metodo?

Ho notato che in alcune librerie viene chiamato all'inizio del metodo e in XNA Framework vengono chiamati alla fine dei metodi (base.Aggiornamento, base.Draw, eccetera).

risposta

17

Dipende se si desidera che il comportamento derivato si verifichi prima o dopo il comportamento di base.

E non dimenticare che puoi chiamare il metodo base nel mezzo o non farlo affatto.

Detto questo, in generale sarà chiamato come prima cosa. Perché il tuo metodo sovrascritto ha l'opzione di sovrascrivere le impostazioni fatte dalla classe base.

Ma in metodi come Chiudi o Disponi è più consueto (a volte obbligatorio) chiamarlo alla fine.

+4

Generalmente gli scenari di creazione li hanno all'inizio. Pulizie alla fine. Qualcosa come l'aggiornamento potrebbe averlo nel mezzo. –

4

Dipende interamente da ciò che si vuole fare. Non c'è una regola "generale" su ciò che dovrebbe accadere. Ad esempio, potresti voler fare una validazione extra, quindi chiamare il metodo base, quindi fare qualcos'altro. O forse vuoi solo calcolare quanto tempo impiega il metodo base per chiamare.

Trattare ciascun caso come una situazione individuale.