Ho una classe C# che ha troppi codici in ingresso e io voglio refactor
. Quello che vorrei fare è iniziare con tutti gli public methods
e creare uno tree
per ognuno di essi, mostrando quali altri metodi della classe sono chiamati da esso, e poi quali sono chiamati da quello secondario, e così via.Come faccio a trovare i metodi che vengono chiamati da un metodo di classe C# - NON in fase di esecuzione
Ciò mi consentirà di vedere quale private methods
appartiene esclusivamente a uno public method
, che sono condivisi e così via.
Nota che NON voglio farlo in fase di esecuzione, voglio essere in grado di guardare una classe, direttamente allo .cs file
, o utilizzando la riflessione sul compilato DLL
.
So che posso utilizzare il reflection sulla DLL compilata per ottenere i metodi, ma non riesco a trovare alcun modo per scoprire quali metodi sono chiamati con altri metodi nella classe.
Qualche idea? Ancora una volta, questo NON è un problema di runtime, è puramente per costruire un programma di utilità riutilizzabile per aiutare il refactoring di una classe sovradimensionata. Ce ne sono parecchi nella soluzione su cui sto lavorando, quindi il codice dovrebbe essere usato più e più volte.
Il resharper ha questo. Ti mostrerà tutti gli usi di un metodo. – Oded
Fare clic con il tasto destro del mouse sul metodo -> "Visualizza gerarchia chiamate"? –
Se si desidera eseguire il rollover: http://stackoverflow.com/a/5741770/16959 questa è una risposta estremamente ben studiata su questo argomento –