Mam klasę C#, która ma o wiele za dużo kodu i chcę ją ustawić na refactor
. To, co chciałbym zrobić, to zacząć od wszystkich public methods
i zbudować dla każdego z nich tree
, pokazując, które inne metody w klasie są z niego wywoływane, a następnie, które są wywoływane z tego pierwszego i tak dalej.Jak znaleźć metody wywoływane z metody klasy C# - NIE w czasie wykonywania?
To pozwoli mi zobaczyć, które private methods
należą wyłącznie do jednego public method
, które są udostępniane i tak dalej.
Należy zauważyć, że NIE chcę tego robić w czasie wykonywania, chcę móc spojrzeć na klasę, bezpośrednio na .cs file
, lub używając refleksji na skompilowanym DLL
.
Wiem, że mogę użyć refleksji na skompilowanej bibliotece DLL, aby uzyskać metody, ale nie mogę znaleźć żadnego sposobu na sprawdzenie, które metody są wywoływane przez inne metody w klasie.
Czy ktoś ma jakieś pomysły? Ponownie, nie jest to kwestia czasu wykonywania, jest to wyłącznie do budowy narzędzia wielokrotnego użytku, aby pomóc w refaktoryzacji oversized klasy. W rozwiązaniu, nad którym pracuję, jest sporo, więc kod będzie używany w kółko.
Resharper ma to. Testament pokazuje wszystkie zastosowania metody. – Oded
Kliknij prawym przyciskiem myszy metodę -> "Wyświetl hierarchię połączeń"? –
Jeśli chcesz przetasować własne: http://stackoverflow.com/a/5741770/16959 jest to bardzo dobrze zbadana odpowiedź na ten temat –