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

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

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!