Usando gli attributi CallerInfo possiamo avere informazioni sul chiamante di un metodo le informazioni che possono essere recuperate sono: il percorso del file sorgente, il numero della riga nel file sorgente e il nome del caller , informazioni molto importanti in scenari di debug .
Possiamo accedere agli attributi importando il namespace System.Runtime.CompilerServices e sono rispettivamente
Questi sono gli esempi di utilizzo estratti direttamente da MSDN
C#
public void DoProcessing()
{
TraceMessage("Something happened.");
}
public void TraceMessage(string message,
[CallerMemberName] string memberName = "",
[CallerFilePath] string sourceFilePath = "",
[CallerLineNumber] int sourceLineNumber = 0)
{
Trace.WriteLine("message: " + message);
Trace.WriteLine("member name: " + memberName);
Trace.WriteLine("source file path: " + sourceFilePath);
Trace.WriteLine("source line number: " + sourceLineNumber);
}
Vb.net
Private Sub DoProcessing()
TraceMessage("Something happened.")
End Sub
Public Sub TraceMessage(message As String,
<CallerMemberName> Optional memberName As String = Nothing,
<CallerFilePath> Optional sourcefilePath As String = Nothing,
<CallerLineNumber()> Optional sourceLineNumber As Integer = 0)
Trace.WriteLine("message: " & message)
Trace.WriteLine("member name: " & memberName)
Trace.WriteLine("source file path: " & sourcefilePath)
Trace.WriteLine("source line number: " & sourceLineNumber)
End Sub
Per informazioni dettagliate è possibile far riferimento alla documentazione tecnica qui