mi sono imbattuto su questo post e non mi è piaciuta nessuna risposta particolare, quindi ho pensato di fornire il mio ...
Non c'è modo in C# per far rispettare il metodo di base. Pertanto la codifica come tale è considerata un anti-pattern dal momento che uno sviluppatore di follow-up potrebbe non rendersi conto che devono chiamare il metodo base altrimenti la classe sarà in uno stato incompleto o cattivo.
Tuttavia, ho trovato circostanze in cui questo tipo di funzionalità è richiesto e può essere soddisfatto di conseguenza. Di solito la classe derivata ha bisogno di una risorsa della classe base. Al fine di ottenere la risorsa, che normalmente potrebbe essere esposta tramite una proprietà, viene invece esposta tramite un metodo. La classe derivata non ha altra scelta che chiamare il metodo per ottenere la risorsa, garantendo quindi che venga eseguito il metodo della classe base.
La prossima domanda logica che si potrebbe chiedere è perché non inserirla nel costruttore? Il motivo è che potrebbe trattarsi di un problema di ordine operativo. Al momento della costruzione della classe, potrebbero esserci ancora degli input mancanti.
Questo si allontana dalla domanda? Sì e no. Sì, forza la classe derivata a chiamare un particolare metodo di classe base. No, non lo fa con la parola chiave override. Potrebbe essere utile per un individuo in cerca di una risposta a questo post, forse.
Non sto predicando questo come Vangelo, e se le persone vedono un aspetto negativo di questo approccio, mi piacerebbe sentirne parlare.
Vuoi dire da un costruttore di quando l'override un metodo? – munificent