使用调试器知道对象当前在哪些集合时,.NET(C#)中是否存在一种方法。
我遇到类实例进出不同列表和数组的情况,并且我试图在当前所处的任何时间点追踪哪些集合。即当我遇到断点时。
我能想到的唯一解决方案是编写某种跟踪器类。希望调试器可能有一种跟踪它的方法。
编辑:我想它有点像你可以在调试器中展开一个集合并看到成员的方式,除了我想反过来。
感谢。
答案 0 :(得分:1)
听起来你会从使用observer pattern中受益,它会在对象之间产生“一对多的依赖关系,这样当一个对象改变状态时,它的所有依赖关系都会被自动通知和更新”。基本上,只要项目被添加到集合中,您就有了一个接收通知的对象。
.NET 4具有此模式的内置实现。查看Observer Design Pattern in .NET。
界面文档:
查看ObservableCollection<T>
类也是值得的,看看它是否能提供您需要的功能。它在.NET 3中可用。
答案 1 :(得分:0)
我不相信有这样的内置,但它很容易创建。只需在Watch窗口中添加表达式,每个集合一个。
或者在代码中创建一个函数来搜索集合并返回一个字符串数组(集合名称) - 并从Watch窗口调用该函数。