标签: c# weak-events
我今天在以下情况中思考:
我有两个A和B类。
A公开事件E。
B使用弱事件处理程序“W”订阅此事件“E”。
过了一段时间没有人对B有任何提及,但GC还没有开始。
虽然GC尚未收集B并且A引发“E”,但弱事件处理程序是否会被调用?
我在想是的,但如果我没有遗漏某些东西,我会很好奇。
答案 0 :(得分:1)
是的,它会。 WeakEventManager将看到对象B引用的是'alive'(尚未收集)并将在那里引发事件。