Ich habe eine C# -Klasse, die viel zu viel Code hat, und ich möchte refactor
es. Was ich tun möchte, ist mit allen public methods
beginnen, und bauen Sie eine tree
für jeden einzelnen, zeigt, welche anderen Methoden in der Klasse von ihm aufgerufen werden, und dann die von der untergeordneten aufgerufen werden, und so weiter.Wie finde ich, welche Methoden aus einer C# -Klassenmethode aufgerufen werden - NICHT zur Laufzeit
Dies wird mir ermöglichen zu sehen, welche gehören nur zu einem public method
, die freigegeben sind und so weiter.
Beachten Sie, dass ich dies nicht zur Laufzeit tun möchte, ich möchte in der Lage sein, eine Klasse zu betrachten, entweder direkt an der .cs file
, oder mit Reflektion auf der kompilierten DLL
.
Ich weiß, ich kann Reflexion über die kompilierte DLL verwenden, um die Methoden zu erhalten, aber ich kann keine Möglichkeit finden, herauszufinden, welche Methoden von anderen Methoden in der Klasse aufgerufen werden.
Wer irgendwelche Ideen? Auch hier handelt es sich NICHT um ein Laufzeitproblem. Es handelt sich lediglich um ein wiederverwendbares Dienstprogramm, mit dem eine übergroße Klasse umgestaltet werden kann. Es gibt einige in der Lösung, an denen ich arbeite, also sollte der Code immer wieder verwendet werden.
Resharper hat dies. Es zeigt Ihnen alle Verwendungen einer Methode. – Oded
Klicken Sie mit der rechten Maustaste auf die Methode -> "Aufrufhierarchie anzeigen"? –
Wenn Sie Ihre eigenen rollen möchten: http://Stackoverflow.com/a/5741770/16959 Dies ist eine sehr gut recherchierte Antwort zu diesem Thema –