Überladene Erweiterungsmethoden in C #, funktioniert das?

Eine Klasse mit folgender Methode haben:

class Window {
    public void Display(Button button) {
        // ...
    }
}

Ist es möglich, die Methode mit einer anderen, umfassenderen Methode zu überladen:

class WindowExtensions {
    public void Display(this Window window, object o) {
        Button button = BlahBlah(o);
        window.Display(button);
    }
}

Was passiert ist, als ich es versuchte, ist, dass ich unendliche Rekursion habe. Gibt es eine Möglichkeit, dies zum Laufen zu bringen? Ich möchte, dass die Erweiterungsmethode nur aufgerufen wird, wenn die andere Methode nicht aufgerufen werden kann.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage