Если у вас есть A
публикация события и B
подписка на событие (обработчик), то проблема только в том, чтобы не отписаться, если A
будет жить намного дольше, чем B
, По сути, подписка на событие означает, что A
все еще может видеть B
, поэтому предотвратит сбор мусора и будет запускать события, даже если вы забыли об этом (и, возможно, Disposed()
).
Например, это проблема, если A
является статическим событием и ваше приложение работает некоторое время после того, как B
умрет ... Но B
будет жить столько же, сколько A
, таким образом B
не будет мусора.
Важно отметить, можно спросить следующее:
если B живет намного дольше, чем A, будет ли B удерживать A от сбора мусора?
И ответ на это "нет". B не имеет ссылки на A через событие; А будет собираться как обычно