Perché i metodi di estensione devono essere statici? [duplicare]

Aug 20 2020

Non capisco perché deve essere statico? Qual è il problema con la possibilità di creare un oggetto per un metodo di estensione?

Risposte

1 RobertColumbia Aug 20 2020 at 05:07

I metodi di estensione sono una scorciatoia per far sembrare che una classe abbia più metodi di quanti ne abbia effettivamente, consentendo di aggiungere una chiamata al metodo di estensione a un riferimento a un'istanza della classe estesa. Un metodo di estensione non statico richiederebbe inoltre un riferimento a un'istanza della classe di estensione (poiché un metodo non statico può fare riferimento allo stato specifico dell'istanza) e ciò non avrebbe senso nella sintassi.

Se vuoi essere in grado di eseguire un metodo su istanze di due classi, puoi farlo, ma non nel modo in cui immagini.