gpt4 book ai didi

c# - 获取对象处置/销毁的通知

转载 作者:太空狗 更新时间:2023-10-29 18:11:25 25 4
gpt4 key购买 nike

我需要一种方法来跟踪各种类的实例,而这些类不知道它们正在被跟踪。本质上,我有一个创建实例并将它们交给另一个线程的类工厂。一旦该线程完成并卸载实例,我需要得到通知,以便我可以进行引用计数并在所有实例都消失时退出我的类工厂。

挑战在于我无法修改我将加载的任何类,因为我无法控制它们的源代码。

跟踪我创建的实例很简单,我可以在创建它们时将它们放入某种集合中。追踪它们的破坏给我带来了麻烦。如果我可以修改源代码,我会向每个类添加一个事件,当我创建一个实例时,我会连接到该事件并将其用作我的通知。但我不能那样做。

所以,问题是:是否有偷偷摸摸的方法来监视对象实例并检测它何时被销毁?

最佳答案

由于您正在创建对象,因此您似乎可以返回 Decorator而不是实际实例。

通过使用 Decorator Pattern ,您可以将返回的对象“包装”在您自己的修饰过的 API 中。装饰可以提供提供销毁通知的 IDisposable 实现。

关于c# - 获取对象处置/销毁的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3267818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com