Für ReSharper 6.1 gibt es kein integriertes Prüfelement für fehlende Standardanweisungen innerhalb eines Schalters für C #, die benutzerdefinierten Muster scheinen jedoch generell robust zu sein. Ich habe ein wenig mit ihnen herumgespielt für Fälle wie das Verpassen von else-Anweisungen für if-Blöcke, aber ich bin mir nicht sicher, wie man nach fehlendem Standard sucht.
Folgendes habe ich bisher:
Suchmuster
%Vor%Ersatzmuster
%Vor%Wobei $ expr $ ein Ausdruck ist, $ val ist ein Ausdruck, $ statement $ ist eine beliebige Anzahl von Anweisungen und $ missingDefault $ ist ein Maximum von 0 Anweisungen.
Die Probleme hier sind die folgenden:
Offensichtlich stimmt dieses Suchmuster nur mit Vorkommen überein, die einen Einzelfall und keinen Standard enthalten, also ist es relativ nutzlos. Ich brauche ein Muster, das mit switches mit beliebig vielen Fällen übereinstimmt, von denen jede eine Pause enthalten kann (mit Ausnahme des letzten Falls) und eine beliebige Anzahl von Anweisungen enthalten kann .
Danke für Ihre Hilfe.
Ich hatte einen guten Riss dabei und ich glaube nicht, dass es derzeit möglich ist (Resharper 7)
Nachdem Sie gesagt haben, dass Sie immer im Resharper-Forum
nachfragen könnenDas einzige, was ich anbieten kann, dass kann nützlich sein, ist das Muster zu finden
1) alle switch-Anweisungen
%Vor% 2) die Switch-Anweisungen, die in default; break
enden:
Sie könnten dann den Unterschied zwischen diesen beiden Listen verwenden, um festzustellen, bei welchen die default;break;
-Anweisung fehlt. Zum Beispiel in meinem Projekt habe ich 231 Vorkommen des ersten und nur 58 des zweiten.
Ich merke, das ist eine lange weg von dem, was Sie wollten (nicht ersetzen!), aber es ist das Beste, was ich aufbringen kann.
Tags und Links c# resharper switch-statement default