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; 

GFU-Schulungen  [Anzeige]

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

VB.NET 2017/2015/2013 Komplett

Ziel des Seminars ist der flexible Umgang mit VB.NET, wie z.B. die damit verbundene eigenständige Entwicklung von Programmen oder das Verwenden von Datenbanken.

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!