如何从StackTrace获取参数值

时间:2009-11-30 15:51:05

标签: c# .net reflection stack-trace

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

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

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

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

1 个答案:

答案 0 :(得分:6)

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

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

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