Caller info attributes C# with Example



Caller info attributes C# with Example

Caller info attributes can be used to pass down information about the invoker to the invoked method. The 
declaration looks like this: 
using System.Runtime.CompilerServices; 
public void LogException(Exception ex, 
[CallerMemberName]string callerMemberName = "", 
[CallerLineNumber]int callerLineNumber = 0, 
[CallerFilePath]string callerFilePath = "") 
{ 
//perform logging 
} 
And the invocation looks like this: 
public void Save(DBContext context) 
{ 
try 
{ 
context.SaveChanges(); 
} 
catch (Exception ex) 
{ 
LogException(ex); 
} 
} 
Notice that only the first parameter is passed explicitly to the LogException method whereas the rest of them will 
be provided at compile time with the relevant values. 
 

The callerMemberName parameter will receive the value "Save" - the name of the calling method. 
The callerLineNumber parameter will receive the number of whichever line the LogException method call is 
written on. 
And the 'callerFilePath' parameter will receive the full path of the file Save method is declared in. 

0 Comment's

Comment Form

Submit Comment