Frage

Ich habe zerlegt gerade ein Projekt, es zu debuggen mit Reflector , aber es scheint bei Decodierung der ‚kompilieren Ergebnisse‘ der automatischen Eigenschaften sträuben, zB die nächste Zeile gibt mir einen Syntaxfehler. Ich habe versucht, diese manuell Fixierung, aber jedes Mal, wenn ich eine beheben, mehr erscheinen.

private string <GLDescription>k__BackingField;

Gibt es etwas, was ich dagegen tun kann?

War es hilfreich?

Lösung

Ha! Dumm ich: alles, was ich zu tun hatte, eingestellt wurde die Disassembler Optimierung in Reflector der Optionen auf .NET 3.5. Meins war auf 2,0.

Andere Tipps

Der Compiler erzeugt Felder mit "unaussprechlichen Namen." - das heißt solche, die in C # illegal sind selbst, sondern gelten IL

Es gibt keine genau genaue Übersetzung der IL in „normalen“ C # (ohne automatische Eigenschaften). Sie können < und > mit _ ersetzen, die gesetzlichen Code geben, aber dann wird es natürlich nicht sein genau der gleiche Code nicht mehr. Wenn Sie erst nach der Fähigkeit sind, jedoch zu debuggen, ist das kein Problem sein wird.

Wenn Sie decompile Iteratoren (dh Methoden yield-Anweisungen) Sie mehr von den gleichen finden, einschließlich der Verwendung von fault Blöcken, die wie finally Blöcke sind, aber sie nur ausgeführt werden, wenn eine Ausnahme aufgetreten ist (aber ohne die Ausnahme abfangen ). Verschiedene andere Konstrukte erzeugen unaussprechliche Namen auch, einschließlich anonymen Methoden, Lambda-Ausdrücke und anonyme Typen.

Auf einer breiteren Kenntnis, tun Sie über die Berechtigung diesen Code zu dekompilieren? Wenn der Autor Sie hat nichts dagegen tun, so sind sie wahrscheinlich, dass Sie bereit sein, um die Quelle zu geben Code zu starten, mit dem würde das Leben leichter machen. Wenn sie nicht wollen Sie ihren Quellcode Debuggen mit zu beginnen, sollten Sie die ethischen (und möglicherweise rechtliche) Verzweigungen decompiling den Code betrachten. Diese je nach Standort variieren kann. Einen echten Anwalt endgültigere Führung konsultieren

EDIT: Nachdem Sie Ihre eigene Antwort gesehen, die sehr viel Sinn macht. Ich werde dies hier lassen für Hintergrundmaterial.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top