Wie kann am schnellsten festgestellt werden, welche Elemente einer Aufzählung nicht verwendet werden?Suchen nicht verwendeter Aufzählungselemente
Antwort
Wenn Sie ReSharper verwenden sind, auf dem ENUM klicken, um zu überprüfen drücken Sie Alt + F7 (Shift + F12, wenn Sie VS-Shortcuts verwenden), und es wird Ihnen eine Liste aller Orte geben, die in Ihrer gesamten Lösung verwendet werden.
Strg-F und für das Element von Enum den gesamten Namensraum/Projekt suchen
finden Verwendung Verweise auf jedes Mitglied der Enumeration ist der schnellste Weg, ich mir vorstellen kann.
Ich hatte gehofft, dass es etwas schneller gab, als sie einzeln zu machen. Möglicherweise nicht. –
Mitglieder kommentieren/auskommentieren. Wenn der Compiler keinen Fehler auslöst, wird das Aufzählungselement nicht verwendet.
Update: Wie in den Kommentaren erwähnt, funktioniert das natürlich nur für Projekte, die in der Lösung/der aktiven Build-Konfiguration enthalten sind. Das gleiche gilt für die Find References und Ctrl + F Methoden.
Ansonsten gibt es auch die Option, eine Dateisuche zu machen, z.B. mit grep. Diese Option ermöglicht jedoch nur eine stringbasierte Suche und löst keine Typen auf.
... unter der Annahme, dass alle referenzierenden Projekte in der Lösung sind. – Codebrain
Kommentieren Sie die Enum-Mitglieder einzeln und sehen Sie, ob Ihr Code kompiliert wird. Wenn die Kompilierung unterbrochen wird, wird das Mitglied verwendet. Obwohl diese Methode nur die Kompilierungszeit Ihrer Enums abruft. Sie könnten zur Laufzeit verwendet werden.
+1 für Erwähnung von Laufzeit verwendet. –
Dies würde eine ganze Weile dauern mit einer anständigen Größe Enum und Code-Basis. Ich habe auf eine Nachschärf-/andere Werkzeuglösung gehofft, die dies in einem Durchgang tun könnte. –
Wenn Sie VS2005/8 Ctrl-Shift-F verwenden, so suchen Sie in den Dateien. Dadurch erhalten Sie eine Liste der Dateien, auf die Sie doppelklicken können, um zu den Zeilen zu gelangen.
Wenn Sie VS nicht, dann können Sie WinGrep verwenden, die das gleiche tun wird (ohne die Doppelklick-Funktion)
Auf der sicheren Seite können Sie Ihre Mitglieder mit ObsoleteAttribute
markieren. Das Hinzufügen von [Obsolete(true)]
wird den Build fehlschlagen, wenn ein bestimmtes Element verwendet wird.
Dies kann natürlich nicht nur für Enums, sondern für fast alles in .NET verwendet werden.
Resharper ist Ihr Werkzeug der Wahl, wenn Sie die Mitglieder aus einer Lösung löschen müssen und Sie sich keine Sorgen über eine andere Verwendung in verschiedenen Lösungen machen müssen.
- 1. Überspringungsartüberprüfung nicht verwendeter Parameter
- 2. Löschen nicht verwendeter Modelle, veraltete Inhaltstypen Eingabeaufforderung
- 3. Verschwendet die Synthese nicht verwendeter Signale Hardwareressourcen?
- 4. Entfernen nicht verwendeter Spalten aus einem Balkendiagramm
- 5. Bestellen und Auswählen häufig verwendeter Tags
- 6. Identifizieren nicht verwendeter Objekte in Microsoft SQL Server 2005
- 7. Android: Entfernen nicht verwendeter auflösungsspezifischer Zeichnungsdaten beim ersten Lauf
- 8. Visual Studio: Deaktivieren nicht verwendeter Komponenten zur Verbesserung der Entwicklereffizienz
- 9. Entfernen nicht verwendeter lokaler Variablen aus .NET-Code
- 10. Verbindung mit nicht verwendeter gemeinsam genutzter Bibliothek erzwingen
- 11. Warum erlaubt Golang die Zusammenstellung nicht verwendeter Funktionen?
- 12. Strategie zum Identifizieren nicht verwendeter Tabellen in SQL Server 2000?
- 13. In einem webRTC-Stream verwendeter Codec
- 14. Suchen: Parameterformat nicht korrekt
- 15. Abrufen einer Liste verwendeter Bibliotheken durch einen laufenden Prozess (UNIX)
- 16. Azure Tabellenspeicherbereichsabfrage mit häufig verwendeter Bedingung in Methode
- 17. Zend Lucene - nicht Nummern suchen
- 18. Suchen CSS nicht angewandte Regeln
- 19. Perl nicht übereinstimmende Zeichenfolge suchen
- 20. Schaltfläche zum Senden nicht suchen
- 21. Nicht gierige Suchen mit Hpricot?
- 22. Kann Datum nicht suchen (Monatswort)
- 23. Verwendeter Speicher wird nie im Knoten js freigegeben. Sehr seltsam
- 24. Wie kann nicht verwendeter C# -Code systematisch entfernt und neu facettiert werden?
- 25. Warum verursacht ein nicht verwendeter Konstruktor in diesem Fall eine Assemblyabhängigkeit?
- 26. Verwenden von Proguard zum Entfernen nicht verwendeter Klassen in der Google Play Services-Bibliothek
- 27. wie überprüft man, ob Linux Symlink in Verwendung ist? (Entfernen nicht verwendeter Symlinks)
- 28. Kann nicht in gestreamte Datei suchen
- 29. Suchen und Ersetzen von Nicht-HTML-Inhalten
- 30. kann nicht in Emacs effektiv suchen
Wenn ich richtig verstehe, müssen Sie das für jeden Enum-Wert tun, was mühsam sein kann, wenn Sie viele haben. – tigrou