2010-10-12 48 views
1

任何人都可以告诉我,.net中是否有一个对象可用于获取列表或对当前处于对象范围内的所有对象的引用。例如,如果代码当前正在方法中执行,那么此方法中声明的哪些对象当前是实例化的并且处于活动状态,以及在类级别声明的对象已经实例化并且处于活动状态?我可以测试明确声明为空引用的每个对象,但我正在寻找更通用的东西(可能使用反射?),可以从任何方法使用清除所有活着的对象。VB .Net 2008 - 列出当前在范围内的所有对象?

由于提前,

最好的问候,
杜安。

+0

没有调试器/分析器是不可能的。 – leppie 2010-10-12 08:17:53

回答

0

我不认为这个信息可以被检索。如果可用,则可能通过System.GC类获得 - 但事实并非如此。

反射只能让你到目前为止 - 你可以检查对象,甚至在方法中使用一些欺骗甚至是局部声明,但是你没有简单的方法来知道哪些上下文是活动的。堆栈跟踪可以产生(当前线程)调用堆栈所需的信息,但是这会忽略当前应用程序域中的所有静态变量(并且System.AppDomain类不允许访问此信息)。

+0

好的,谢谢你们。不得不问! :O) – Dib 2010-10-15 10:47:03