2014-06-09 9 views
5

Oft benutze ich einen Schalterkasten und erstelle einen Fall für alle Enum-Objekte.Wie kann ich einfach einen Fall (Schalter Fall) für alle Enum-Elemente erstellen?

Gibt es eine Abkürzung (es kann eine Nachschneide-Verknüpfung sein), die alle Fälle automatisch erstellt und lassen Sie mich nur die Fälle füllen?

Oder ist diese Frage im Zusammenhang mit Code-Snippet Thema? Ist es möglich, ein dynamisches Code-Snippet zu erstellen (wird je nach Enum-Typ variieren)?

+1

Es besteht die Gefahr, dass a: es sich nicht an Codeänderungen (neue Enum-Werte usw.) anpasst, und b: es behandelt nicht undefinierte Werte ('[Flags]' oder nur willkürliche Werte). Ehrlich gesagt, IMO - was auch immer IDE-Tools Sie verwenden, großartig, aber das Hinzufügen eines "Standard" -Falls, der eine geeignete Ausnahme auslöst, sollte ziemlich allgemein üblich sein. Und Tests. Es ist bemerkenswert, dass F # hier eine bessere Behandlung hat (zumindest für diskriminierte Gewerkschaften) –

+0

@MarcGravell Sie haben Recht. In der Option "Nachschärfung" wird im Standardfall "ArgumentOutOfRangeException" geworfen. – serdar

Antwort

8

Setzen Sie den Cursor nach der ersten geschweiften Klammer innerhalb der switch-Anweisung und drücken Sie Alt + Enter. Sie sehen die Option zum Generieren von Switch-Labels.

+3

Ist das Nachschärfen? Ich glaube nicht, dass VS Vanille ist. –

+0

Ja, es ist eine Nachschärfer-Verknüpfung. –

+0

Großartig, danke. Ja es scheint, es ist Nachschneider Short-Cut. alt-enter gibt Nachschärfoptionen. – serdar

15

Plain VS Schnipsel funktioniert für Sie ..write switch und drücken Sie "TAB", schreiben Sie Ihre enum Typ und drücken Sie die Eingabetaste (zweimal), die Fälle werden für Sie generiert werden.

+0

Das klappte auch, danke. – serdar

+1

TIL; wusste diese Funktion nicht, aber bestätigen Sie es funktioniert - Prost –