C# 如何在发生报错时,获取调用者参数信息?

C# 如何在发生报错时,获取调用者参数信息?

为了方便错误捕获,我希望在触发报错的时候,能知道调用者、参数信息,将其序列化写入到日志
请问如何做到?

现在有两种方式:
1.传统的方式:用StackTrace或者StackFrame

StackTrace st = new StackTrace(true);
                    LogHelper.debug(st.GetFrame(1).GetMethod().Name.ToString());
                    LogHelper.debug("调试信息", e);
                    LogHelper.debug("调试信息"+ temp);
                    LogHelper.debug($"调试信息url:{Baseurl} 参数:"+JsonConvert.SerializeObject(parm));

2.net4.5 以后新增的一系列的特性

 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);
    }