using System.Diagnostics;
private static string GetCallerMethodParams()
{
try
{
var st = new StackTrace();
var msf = st.GetFrame(2).GetMethod(); // 0 - GetCallerMethodParams, 1 - метод логирования, 2 - метод приложения
if (msf.Name.StartsWith("VerifyUserAccess") && st.FrameCount > 3) msf = st.GetFrame(3).GetMethod();
string _paramString = "\n\nЗначения параметров:\n";
foreach (var _param in msf.GetParameters())
_paramString += string.Format("{0}: {1}\n", _param.Name, _param.DefaultValue);
return _paramString;
}
catch
{
return string.Empty;
}
}
Вместо _param.DefaultValue нужно то значение, которое было передано методу. Где извлечь?