c# - 如何从 StackTrace 获取参数值

标签 c# .net reflection stack-trace

<分区>

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

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

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

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

最佳答案

我不认为有一种方法,除非你开发自己的系统来存储这些值。

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

我找到了 PostSharp在 MSDN 论坛上提到过,但我从未尝试过。

关于c# - 如何从 StackTrace 获取参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1820630/

相关文章:

c# - 为什么 WritePrivateProfileString 返回 0?

C# - GetMethod 返回 null

c# - 如何最好地应用WPF MVVM?

c# - 我尝试跟踪内存泄漏,它是否符合我的要求?

C# 创建类的实例并在字符串中按名称设置属性

C# 泛型和反射

c# - 如何获取 Enum 的描述以添加到 NameValueCollection 中

c# - 谁能解释这个有趣的 C# 问题?

c# - 我是否在带线程的 DataView 上正确使用了 RowFilter?

.net - ResolveEventArgs.RequestingAssembly 为 Null