Tim*_*ong 8 .net c# clr object-lifetime
我需要一种方法来跟踪各种类的实例,而不需要那些知道它们被跟踪的类.基本上,我有一个类工厂,它创建实例并将它们交给另一个线程.一旦该线程完成并卸载实例,我需要得到通知,这样我就可以引用计数并在所有实例都消失后退出我的类工厂.
挑战在于我无法修改我将加载的任何类,因为我无法控制它们的源代码.
跟踪我创建的实例很简单,我可以在创建它们时将它们放在某种集合中.跟踪他们的破坏导致我的问题.如果我可以修改源代码,我会向每个类添加一个事件,当我创建一个实例时,我会挂钩事件并将其用作我的通知.但我不能这样做.
所以,问题是:是否有一种偷偷摸摸的方式来监视对象实例并检测它何时被销毁?
Ree*_*sey 11
由于您正在创建对象,因此您似乎可以返回一个Decorator而不是实际的实例.
通过使用Decorator模式,您可以将返回的对象"包装"在您自己的装饰API中.装饰可以提供IDisposable实现,提供您的销毁通知.
| 归档时间: |
|
| 查看次数: |
2772 次 |
| 最近记录: |