Ничто из вышеперечисленного не отцепит ваш обработчик событий.Поскольку и a
, и b
выходят из области видимости одновременно, вы будете в безопасности.Поскольку a
и b
могут быть собраны, то a
не сохранит b
в живых.
Если вы подняли событие ClassA.SomeEvent
после оператора using, то ClassB.DoSomething
будет вызван, даже если b
был удален.В этом случае вам придется явно удалить обработчик событий.
Если бы вы сохранили ссылку на a
где-то в другом месте, то b
будет поддерживаться a
.Опять же, потому что обработчик событий не был удален.