【发布时间】:2010-07-16 18:30:05
【问题描述】:
我需要一种方法来跟踪各种类的实例,而这些类不知道它们正在被跟踪。本质上,我有一个类工厂,它创建实例并将它们交给另一个线程。一旦该线程完成并卸载实例,我需要得到通知,以便在所有实例都消失时进行引用计数并退出我的类工厂。
挑战在于我无法修改任何要加载的类,因为我无法控制它们的源代码。
跟踪我创建的实例很简单,我可以在创建它们时将它们放入某种集合中。跟踪他们的破坏给我带来了麻烦。如果我可以修改源代码,我会为每个类添加一个事件,当我创建一个实例时,我会挂钩该事件并将其用作我的通知。但我做不到。
那么,问题是这样的:是否有一种偷偷摸摸的方法来监视对象实例并检测它何时被销毁?
【问题讨论】:
标签: c# .net clr object-lifetime