Warum müssen Erweiterungsmethoden statisch sein? [Duplikat]

Aug 20 2020

Ich verstehe nicht, warum es statisch sein muss? Was ist das Problem, wenn Sie ein Objekt für eine Erweiterungsmethode erstellen können?

Antworten

1 RobertColumbia Aug 20 2020 at 05:07

Erweiterungsmethoden sind eine Verknüpfung, mit der Sie den Eindruck erwecken können, dass eine Klasse über mehr Methoden verfügt als tatsächlich, indem Sie der Erweiterungsmethode einen Aufruf zu einem Verweis auf eine Instanz der erweiterten Klasse hinzufügen können. Eine nicht statische Erweiterungsmethode würde zusätzlich einen Verweis auf eine Instanz der Erweiterungsklasse erfordern (da eine nicht statische Methode auf einen instanzspezifischen Status verweisen kann), und dies wäre in der Syntax nicht sinnvoll.

Wenn Sie eine Methode für Instanzen von zwei Klassen ausführen möchten, können Sie dies tun, nur nicht so, wie Sie es sich vorstellen.