次の方法で共有


Visual Studio Tipps und Tricks, Teil 34: Interfaces generieren lassen (Ctrl + R, Ctrl+ I)

Es wird wieder einmal Zeit für einen Tipp. Und weil ich gerade dabei bin, eine Visual Studio Productivity Session vorzubereiten, ist mir folgender Tipp über den Weg gelaufen, den ich gerne mit Euch teile: Man kann in Visual Studio Interfaces basierend auf Klassendefinitionen automatisch generieren zu lassen. Dabei werden typische Namenskonventionen (ein großes “i” vor dem Klassennamen) eingehalten, Files automatisch generiert und eben die (möglichen) Interfaces auf Basis der öffentlichen Methoden automatisch erkannt.

So geht’s:

Wenn man in Visual Studio ein Klasse definiert hat, nennen wir sie exemplarisch mal “Craft”, dann fängt man früher oder später typischerweise an Methoden und Properties dafür zu definieren. Das sieht dann z.B. so aus:

image

Wenn man hier auf den Klassennamen (Craft) den Cursor setzt und dann Ctrl+R, Ctrl+I aufruft, dann erscheint folgender Dialog:

image

Wie man sieht, schlägt VS vor ein Interface für diese Klasse ICraft zu benennen. Hierfür wird eine Datei ICraft.cs erstellt. Die öffentlichen Methoden der Klasse werden erkannt und können automatisch im Interface definiert werden. Falls nicht gewünscht, kann man hier auch abhaken.

Der erzeugte Inhalt sieht dann aus wie folgt:

image

Der Code der Klasse Craft wird automatisch angepasst, so dass Craft ICraft implementiert.

image

Das ist nur eines von vielen eingebauten Features, die bei der Codeumstrukturierung und beim Refactoring helfen. In Kürze mehr.

Tl;dr

Über Ctrl+R, Ctrl+I kann man Interfaces automatisch generieren lassen.

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.

Comments

  • Anonymous
    May 09, 2014
    Why is this not available for Visual Basic?