Как определить, какие методы вызываются в методе?

Я хотел бы перечислить все методы, которые вызываются из определенного метода. Например. если у меня есть следующий код:

public void test1() {

   test2();


   test3();
}

Список должен содержать test2 () и test3 (). Было бы замечательно, если бы методы одного и того же класса, но также методы другого класса могли бы быть перечислены.

Кроме того, я хотел бы найти способ определить, какие поля используются в методе:

public class A {

   private String test1 = "";
   private String test2 = "";

   public void test() {
      Console.WriteLine(test1);
   }

}

Поэтому следует перечислить test1.

Я попробовал это с помощью Mono.Cecil, но, к сожалению, я не смог найти много документации о проекте. Так кто-нибудь знает, как это сделать?

Изменить: я хотел бы сделать это с Mono.Cecil, потому что через его API я могу напрямую использовать результаты в моем приложении. Если я использую встроенные инструменты в Visual Studio или аналогичные, мне будет довольно сложно обработать результаты.

Ответы на вопрос(3)

Ваш ответ на вопрос