У меня есть класс C#, в котором слишком много кода, и я хочу refactor
его. То, что я хотел бы сделать, - начать со всех public methods
и построить дерево дерево
для каждого из них, показывая, какие другие методы в классе вызываются из него, а затем которые вызывают от ребенка один и т. д.
Это позволит мне увидеть, какие private methods
принадлежат только одному общедоступному методу
, который является общим и так далее.
Обратите внимание, что я НЕ хочу делать это во время выполнения, я хочу, чтобы иметь возможность посмотреть на класс, либо непосредственно в .cs файле
, либо используя отражение в скомпилированной библиотеке
.
Я знаю, что могу использовать отражение в скомпилированной DLL для получения методов, но я не могу найти способ узнать, какие методы вызывают другие методы в классе.
Какие-нибудь идеи? Опять же, это НЕ проблема времени выполнения, это просто создание многоразовой утилиты, которая поможет реорганизовать негабаритный класс. В решении, над которым я работаю, есть немало, поэтому код снова будет использоваться снова и снова.