Слабая сборка мусора в C # - PullRequest
3 голосов
/ 17 октября 2011

Я думаю сегодня о следующем сценарии:

У меня есть два класса A и B.

A выставляет событие E.

B подписывается на это событие«E», используя слабый обработчик событий «W».

Через некоторое время никто не имеет никаких ссылок на B, но GC еще не вступил в игру.

Пока B еще не собрал GC и A поднимает "E", слабыйБудет ли вызван обработчик события?

Я думаю, да, но мне любопытно, если я что-то не пропустил.

1 Ответ

1 голос
/ 17 октября 2011

Да, будет. WeakEventManager увидит, что ссылки на объект B «живы» (еще не собраны), и вызовет событие там.

...