C#中的WeakEvent垃圾回收

时间:2011-10-17 13:59:48

标签: c# weak-events

我今天在以下情况中思考:

我有两个A和B类。

A公开事件E。

B使用弱事件处理程序“W”订阅此事件“E”。

过了一段时间没有人对B有任何提及,但GC还没有开始。

虽然GC尚未收集B并且A引发“E”,但弱事件处理程序是否会被调用?

我在想是的,但如果我没有遗漏某些东西,我会很好奇。

1 个答案:

答案 0 :(得分:1)

是的,它会。 WeakEventManager将看到对象B引用的是'alive'(尚未收集)并将在那里引发事件。