从.NET中的堆栈帧获取参数值,可以通过以下方法实现:
using System.Diagnostics;
StackTrace stackTrace = new StackTrace();
StackFrame frame = stackTrace.GetFrame(1); // 获取当前方法的前一个堆栈帧
MethodBase method = frame.GetMethod();
ParameterInfo[] parameters = method.GetParameters();
foreach (ParameterInfo parameter in parameters)
{
Console.WriteLine($"参数名:{parameter.Name},参数类型:{parameter.ParameterType}");
}
using System.Reflection;
MethodBase method = MethodBase.GetCurrentMethod();
ParameterInfo[] parameters = method.GetParameters();
foreach (ParameterInfo parameter in parameters)
{
Console.WriteLine($"参数名:{parameter.Name},参数类型:{parameter.ParameterType}");
}
这两种方法都可以获取当前方法的参数信息,包括参数名和参数类型。在获取参数值时,需要注意参数的作用域和生命周期,以及参数传递的方式(值传递或引用传递)。
领取专属 10元无门槛券
手把手带您无忧上云