Feedback

C# - Aktuelle Methode mit StackTrace ermitteln

Veröffentlicht von am 02.11.2009
(3 Bewertungen)

Um den Namen der aktuellen Methode zu ermitteln
benutzen wir StackTrace

Namespaces:
using System.Reflection; 

using System.Reflection;




StackTrace stackTra = new StackTrace(); 

string MethodName0 = stackTra.GetFrame(0).GetMethod().Name; //Aktuelle MethodenName

string MethodName1 = stackTra.GetFrame(1).GetMethod().Name; //Methode davor

2 Kommentare zum Snippet

Günther Foidl schrieb am 16.11.2009:
Zu berücksichtigen ist dass durch Inlining (eine Optimierung des JITer) eine andere Methode zurückgegeben werden kann als erwartet.
Koopakiller schrieb am 26.05.2016:
Als Ergänzung, in den neueren .NET Versionen kann man auch noch das CallerMemberNameAttribute einsetzen. Dieses kann auf Funktionsparameter vom Typ String mit Standardwert angewendet werden. In dem Fall wird dem Parameter der Name des Aufrufers übergeben.
 

Logge dich ein, um hier zu kommentieren!