Ich versuche derzeit, überall in einer Lösung zu finden, wo eine bestimmte Aufzählung in eine Zeichenfolge konvertiert wird, ob ToString() explizit aufgerufen wird oder nicht. (Diese werden mit einer Konvertierung mit Enum Beschreibungen ersetzt Verschleierung zu verbessern.)Finden überall wo eine Enum in Zeichenfolge konvertiert wird
Beispiel: Ich möchte Code finden wie string str = "Value: " + SomeEnum.someValue;
Ich habe versucht, anstelle der ENUM selbst mit einem Wrapper-Klasse enthält implizite Konvertierungen in den Enum-Typ und überschreiben ToString() in der Wrapper-Klasse, aber wenn ich versuche, nach Verwendungen der ToString() überschreiben, gibt es mir eine Liste der Orte in der Lösung, wo ToString() für alles (und nur wo es heißt explizit). Die Suche wurde mit ReSharper in Visual Studio durchgeführt.
Gibt es eine andere Möglichkeit, diese Enum-String-Konvertierungen zu finden? Die manuelle Lösung der gesamten Lösung klingt nicht nach viel Spaß.
Roslyn Team habe ich das weiß ich so markiert man es sehen werden. :-) Werden die aktuell veröffentlichten Teile von Roslyn es ermöglichen, den AST nach dieser Art von Konvertierung zu durchsuchen? –
Nur eine Erweiterung dessen, was Sie bereits getan haben, wenn Sie in Ihrer Wrapper-Klasse auch eine 'implizite' Umwandlung in' string' erstellen und sie mit dem '[Obsolete]' Attribut markieren, informieren Sie Compiler-Warnungen/-Fehler überall dort, wo sie benutzt werden http://stackoverflow.com/questions/10585594/how-to-get-find-usages-working-with-implicit-operator-methods Es ist keine Antwort, aber könnte Ihnen im Notfall helfen. –