如何从StackTrace中获取参数值

在方法调用中,我需要在堆栈中“跳转”三层并检索传递给该方法的参数的类型和值。 获取参数类型很简单,但我找不到将值传递给堆栈上的某个方法的方法。

var st = new StackTrace(); var frames = st.GetFrames(); var methodParameters = frame[2].GetMethod().GetParameters; // get each parameter value 

注意:使用StackTrace不是必需的。

有没有办法在运行时找到传递给方法的参数值?

除非您开发自己的系统来存储值,否则我认为没有方法。

reflection命名空间表示有关程序集的静态数据,您需要在运行时检索值。

我在MSDN论坛中发现了PostSharp ,但我从未尝试过。