gpt4 book ai didi

c# - 使用反射分析参数及其值

转载 作者:行者123 更新时间:2023-11-30 22:47:40 24 4
gpt4 key购买 nike

我在这里看到过关于 SO 的旧帖子,大约有一年的历史,这意味着它们并没有真正涵盖 .NET 4 甚至 3.5 中的这个主题。就这样吧。

如果你用反射来获取当前方法的参数

ParameterInfo[] methodParams = MethodInfo.GetCurrentMethod().GetParameters();

遍历每个参数将允许您获取参数名称,但是,只有一个“DefaultValue”,我猜是因为 .NET 4 中的新动态参数。

但是,我的问题是;如果不深入调试器 API,是否仍然无法获取方法参数值?

我知道即使您需要考虑使用它也可能存在设计缺陷。

最佳答案

不使用 Profiling API 就无法获取当前参数值。

MethodInfo 对象是每个方法,而不是每个调用。无法将 MethodInfo 与给定的堆栈帧连接起来。

此外,在 Release 构建中,可以优化局部参数,因此这些值不一定存在

VB参数中的DefaultValue属性可以是非null,已经支持默认值。

关于c# - 使用反射分析参数及其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2147368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com