我在这里看到过关于 SO 的旧帖子,大约一年了,这意味着它们并没有真正涵盖这个主题的 .NET 4 甚至 3.5。所以就这样吧。
如果您使用反射来获取当前方法的参数
ParameterInfo[] methodParams = MethodInfo.GetCurrentMethod().GetParameters();
循环遍历每个参数将让您获取参数名称,但是,只有一个“DefaultValue”,我猜它是因为 .NET 4 中新的动态参数而存在的。
然而,我的问题是;如果不深入调试器 API,是否仍然无法获取方法参数值?
我知道如果您甚至需要考虑使用它,则可能存在设计缺陷。
如果不使用 Profiling API,则无法获取当前参数值。
MethodInfo
对象是每个方法,而不是每个调用。没有办法连接MethodInfo
具有给定的堆栈帧。
此外,在发布版本中,可以优化参数局部变量,因此这些值不一定是exist.
The DefaultValue
财产可以是非null
在VB参数中,它已经支持默认值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)