Ich möchte alle Methoden auflisten, die von einer bestimmten Methode aufgerufen werden. Z.B. wenn ich folgenden Code habe:Wie ermittelt man, welche Methoden in einer Methode aufgerufen werden?
public void test1() {
test2();
test3();
}
Die Liste sollte test2() und test3() enthalten. Es wäre großartig, wenn Methoden der gleichen Klasse aber auch Methoden einer anderen Klasse aufgelistet werden könnten.
Additionaly würde Ich mag einen Weg finden, zu erkennen, welche Felder eines Verfahrens verwendet werden:
public class A {
private String test1 = "";
private String test2 = "";
public void test() {
Console.WriteLine(test1);
}
}
sollte daher Liste Test1.
Ich versuchte dies mit Mono.Cecil, aber leider konnte ich nicht viel Dokumentation über das Projekt finden. Weiß jemand, wie man das macht?
Edit: Ich möchte es mit Mono.Cecil tun, weil über seine API kann ich direkt die Ergebnisse in meiner Anwendung verwenden. Wenn ich integrierte Tools in Visual Studio oder ähnlichem verwende, ist es ziemlich schwierig, die Ergebnisse weiter zu verarbeiten.
Ja, ich habe es bereits mit der Reflection API versucht und es war nicht so einfach. Also habe ich versucht, Mono.Cecil zu verwenden, weil ich die Ergebnisse der Berechnung in meinem Code verwenden möchte. (siehe meine Bearbeitung) – RoflcoptrException
Ah! Ich kenne Mono.Cecil nicht - aber es sieht sehr interessant aus. Wenn Sie bereit sind, sich mit der IL die Hände schmutzig zu machen, dann sollte das möglich sein - aber leider kann ich nicht helfen - viel Glück. –