在运行时获取本地对象/变量列表

4
我正在尝试创建一个简单的记录器来检查客户端发生了什么。我如何获取本地变量列表(在调试时在Visual Studio中显示)?
就像当断点被命中时,对象/变量的当前现有实例显示在Locals选项卡上一样,或者我应该只是在写日志时获取变量的当前值?
1个回答

5

有趣的事情...

我通常使用反射和运行时数据的组合记录所有方法参数名称和值,从未考虑过捕获本地变量值...

这里提供一些信息:

访问本地变量信息


我之前在 MSDN 上看到了 localvariableinfo,它实际上并没有返回值,只有类型和索引号。不过我可能错过了什么。谢谢。 - Bahamut
因为通过反射可用的元数据是在编译时生成的,从不包含运行时值。为此,您需要更多的魔法,例如对于方法参数,当我从catch块调用记录器时,我将实际值传递给记录器。 - Davide Piras
我明白了。那就意味着我需要传递(或获取)这些值。我猜这只完成了我期望的一半,另一半需要手动完成。感谢您澄清这个问题。 - Bahamut

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接