Around and About .NET World

Il blog di Marco Minerva
posts - 1671, comments - 2232, trackbacks - 2135

My Links

News

Contattami su Live Messenger:


MCTS: Windows, Web, Distributed Applications & SQL Server

MCPD: Enterprise Applications

Tag Cloud

Archives

Post Categories

Links

Recuperare il chiamante di un metodo

In alcuni casi può essere necessario conoscere il nome del metodo che ha richiamato una certa routine. Ad esempio, per creare un meccanismo di logging in cui un ipotitetico metodo WriteLog scrive, tra le altre informazioni, anche il nome della funzione che lo ha invocato. Per fare questo, basta analizzare il contenuto dello Stack Trace:

 

1 StackTrace stackTrace = new StackTrace(); 2 StackFrame stackFrame = stackTrace.GetFrame(1); 3 MethodBase methodBase = stackFrame.GetMethod(); 4 string methodName = methodBase.Name;

L'istruzione numero 2 recupera il primo stack frame, contenente il riferimento al metodo che ha richiamato la routine attualmente in esecuzione. Se, invece del numero 1, si utilizza, ad esempio, 2, si ottiene il riferimento al secondo stack frame, da cui è possibile recuperare il metodo che ha richiamato il metodo che ha invocato la routine attuale... E così via.

Technorati Tag: ,,


Print | posted on lunedì 2 giugno 2008 19:30 | Filed Under [ C# ]

Feedback

Gravatar

# re: Recuperare il chiamante di un metodo

Guarda i commenti al post:
http://blogs.ugidotnet.org/Box/archive/2007/09/13/88326.aspx
03/06/2008 15:37 | Massimo Prota
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET