Tips : Ricavare informazioni dal caller di un metodo in C# e VB.net

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

 

Attributo

Descrizione

Tip restituito

CallerFilePathAttribute

Il percorso assoluto del file sorgente dove è definite il caller

String

CallerLineNumberAttribute

Il numero della riga dove viene richiamato il metodo

Integer

CallerMemberNameAttribute

Il nome della proprietà o del metodo chiamante                       

String

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

Print | posted on giovedì 28 febbraio 2013 13:55

Comments on this post

# re: Tips : Ricavare informazioni dal caller di un metodo in C# e VB.net

Requesting Gravatar...
That is very kind of you to write this share for us, thanks a lot
Left by termpaperexpert.net on mar 02, 2013 10:43

# re: Tips : Ricavare informazioni dal caller di un metodo in C# e VB.net

Requesting Gravatar...
county is almost, or tracts of farmland west city hall and a mess of
Left by free runs sale on ott 19, 2013 7:53

# re: Tips : Ricavare informazioni dal caller di un metodo in C# e VB.net

Requesting Gravatar...
Danny - Green [ microblogging ] , Manu - Manu Ginobili,
Left by nike free runs on ott 20, 2013 6:11

# re: Tips : Ricavare informazioni dal caller di un metodo in C# e VB.net

Requesting Gravatar...
some of us just a little bruised after every game, Barca have
Left by free runs nike sko on nov 07, 2014 4:31

# re: Tips : Ricavare informazioni dal caller di un metodo in C# e VB.net

Requesting Gravatar...
taking into account its function and role, can say that it is static
Left by nike free runs on dic 12, 2014 7:18

# re: Tips : Ricavare informazioni dal caller di un metodo in C# e VB.net

Requesting Gravatar...
Ross said in an interview, C Ronaldo deserved to be this
Left by Roshe Run Dyn on dic 24, 2014 8:56

# re: Tips : Ricavare informazioni dal caller di un metodo in C# e VB.net

Requesting Gravatar...
the game remains to be seen
Left by ray ban sunglass on apr 10, 2015 3:32
Comments have been closed on this topic.