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