次の方法で共有


Visual Studio Tipps & Tricks, Teil 44: Interfaces extrahieren (Ctrl +R, Ctrl +I)

Nach meinem letzten Blogpost zum Thema “Methoden Refactoring” möchte ich Euch gerne noch ein paar Shortcuts zum schnellen, komfortablen Refactoring nennen. Dieser Blogpost beschäftigt sich mit dem Thema, wie man am schnellsten aus einer Klasse ein Interface extrahiert bekommt.

Damit wir auch feststellen, welche Arbeit uns hier abgenommen wird müssen wir uns noch einmal vor Augen halten, wie wir eigentlich vorgehen würden:

Manuelles Vorgehen

1. Wir stellen fest, dass wir eine Klasse (z.B. MyClass) implementiert haben, die ein Interface implementieren sollte – die entsprechenden Methoden hat die Klasse schon implementiert, es fehlt nur noch das Interface.

2. Wir legen den Code für das Interface an und schreiben ihn in eine neue Datei, die typischerweise den Namen IMyClass.

3. Wir packen die Methodensignaturen in den Rumpf des Interfaces.

4. Wir erweitern die Klasse um den Hinweis, dass sie von IMyClass ableitet.

Gerade  der 3. Schritt könnte ein bisschen Geeier sein, abhängig davon, wie viele Methoden wir hier im Interface sehen wollen.

Automatisiertes Vorgehen

Ok, long story short, So geht’s schneller: Wer aus einer exisitierenden Klasse ein Interface extrahieren möchte, dem werden obige Schritte abgenommen, wenn man auf dem Methodennamen Ctrl+R, Ctrl+I drückt.

 

Ausgehend von einer Klasse wie dieser…

image

 

… bringt uns Ctrl + R, Ctr+ I diesen Dialog, in dem wir die Methoden sehen, die wir extrahieren können und wir können wählen, was extrahiert werden soll.

image

Mit “OK” wird das Interface angelegt…

image

… wie sich’s gehört in einer neuen Datei.

image

Die Klasse selbst wird angepasst, so dass hier das Interface implementiert wird.

image

Cool oder?

 

Tl;dr

Ctrl+R, Ctrl+I extrahiert Interfaces aus bestehenden Klassen.

 

 

Kurzer Text am Rande:

Dieser Post ist Teil einer längeren Serie, in der ich ein paar der vielleicht nicht ganz so bekannten Features von Visual Studio vorstellen werde. Ich hoffe, für Euch ist der ein oder andere Kniff dabei, den Ihr noch nicht kanntet. Und wenn ihr ihn doch schon kennt: Seid stolz auf Euch und verratet den Trick auch dem Entwickler neben Euch.