2009-04-14 6 views

Antwort

3

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.

+0

Wenn ich richtig verstehe, müssen Sie das für jeden Enum-Wert tun, was mühsam sein kann, wenn Sie viele haben. – tigrou

0

Strg-F und für das Element von Enum den gesamten Namensraum/Projekt suchen

3

finden Verwendung Verweise auf jedes Mitglied der Enumeration ist der schnellste Weg, ich mir vorstellen kann.

+1

Ich hatte gehofft, dass es etwas schneller gab, als sie einzeln zu machen. Möglicherweise nicht. –

0

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.

+0

... unter der Annahme, dass alle referenzierenden Projekte in der Lösung sind. – Codebrain

6

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.

+0

+1 für Erwähnung von Laufzeit verwendet. –

+0

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. –

0

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)

2

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.

Verwandte Themen