如何从StackTrace获取参数值

Dro*_*per 5 .net c# reflection stack-trace

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

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

注意:使用StackTrace不是强制性的.

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

Blu*_*rin 6

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

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

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