来电者信息属性

调用者信息属性可用于将有关调用者的信息传递给调用的方法。声明如下:

using System.Runtime.CompilerServices;

public void LogException(Exception ex,
                         [CallerMemberName]string callerMemberName = "",
                         [CallerLineNumber]int callerLineNumber = 0,
                         [CallerFilePath]string callerFilePath = "")
{
    //perform logging
}

调用看起来像这样:

public void Save(DBContext context)
{
    try
    {
        context.SaveChanges();
    }
    catch (Exception ex)
    {
        LogException(ex);
    }
}

请注意,只有第一个参数显式传递给 LogException 方法,而其余参数将在编译时提供相关值。

callerMemberName 参数将接收值 Save - 调用方法的名称。

callerLineNumber 参数将接收 LogException 方法调用所写的任何行的编号。

并且’callerFilePath’参数将接收文件 Save 方法声明的完整路径。