Methode mit ReSharper auf bereits vorhandene Schnittstelle extrahieren

101

Ich füge einer Klasse, die eine Schnittstelle implementiert, eine neue Methode hinzu, verwende gerne das Refactoring "Schnittstelle extrahieren" und füge die Methode einfach der Schnittstelle hinzu. Es scheint jedoch nicht, dass ReSharper das Hinzufügen einer Methodensignatur zu einer bereits vorhandenen Schnittstelle unterstützt.

Es fühlt sich an, als würde mir etwas fehlen, ich bin mir sicher, dass es irgendwie gemacht werden kann. Vielleicht sollte ich zuerst die Methodensignatur zur Schnittstelle hinzufügen, aber so arbeite ich manchmal. Fehlt mir eine Verknüpfung, Funktion oder die falsche Verwendung von ReSharper?

Johan Danforth
quelle

Antworten:

192

Strg + Umschalt + R, um auf das Refactoring-Menü zuzugreifen, wählen Sie Mitglieder hochziehen ...

Sie können die Schnittstelle auswählen, zu der Sie die Deklarationen hinzufügen möchten, und auch jede Methode auswählen, die Sie der Schnittstelle hinzufügen möchten.

Muss Resharper lieben! ;-);

Russell Giddings
quelle
5
ARgh! Ich habe diese Option nicht einmal ausprobiert, weil ich dachte, dass sie nur mit geerbten Basisklassen zu tun hat. Ich könnte wetten, dass Extract Interface die richtige Wahl war ... Wie auch immer, danke!
Johan Danforth
2
Ja, ich hatte genau die gleiche Erfahrung, Extract Interface scheint die intuitivste Option zu sein, aber hey, zumindest haben wir eine Möglichkeit, das gewünschte Ergebnis zu erzielen :-)
Russell Giddings
Ich sehe nicht, dass es in der neuen ReSharper-Version funktioniert oder existiert
RJN
Es funktioniert immer noch ... kann jedoch keine vorhandene Schnittstelle erkennen und neue Methoden darin einfügen.
Ingweland
@RJN Stellen Sie sicher, dass die Klasse, in der Sie sich befinden, die Schnittstelle bereits implementiert.
Greg Quinn