跟踪类实例/对象所属的集合

时间:2011-04-03 22:49:16

标签: c# .net

使用调试器知道对象当前在哪些集合时,.NET(C#)中是否存在一种方法。

我遇到类实例进出不同列表和数组的情况,并且我试图在当前所处的任何时间点追踪哪些集合。即当我遇到断点时。

我能想到的唯一解决方案是编写某种跟踪器类。希望调试器可能有一种跟踪它的方法。

编辑:我想它有点像你可以在调试器中展开一个集合并看到成员的方式,除了我想反过来。

感谢。

2 个答案:

答案 0 :(得分:1)

听起来你会从使用observer pattern中受益,它会在对象之间产生“一对多的依赖关系,这样当一个对象改变状态时,它的所有依赖关系都会被自动通知和更新”。基本上,只要项目被添加到集合中,您就有了一个接收通知的对象。

.NET 4具有此模式的内置实现。查看Observer Design Pattern in .NET

界面文档:

查看ObservableCollection<T>类也是值得的,看看它是否能提供您需要的功能。它在.NET 3中可用。

答案 1 :(得分:0)

我不相信有这样的内置,但它很容易创建。只需在Watch窗口中添加表达式,每个集合一个。

或者在代码中创建一个函数来搜索集合并返回一个字符串数组(集合名称) - 并从Watch窗口调用该函数。