У меня есть приложение Windows.Forms со списком ListBox, заполненным объектами учетной записи. Когда пользователь выбирает учетную запись из списка, я присоединяю EventHandler, ответственного за обновление выбранных транзакций учетной записи, в случае появления новых пользователей во время просмотра пользователем.Garbagecollection обработчиков событий
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
var selected = listBox1.SelectedItem as Account;
if (selected != null)
{
UpdateTransactions(selected);
selected.OnNewTransaction += (s, a) => UpdateTransactions(selected);
}
}
Тогда мой вопрос заключается в следующем: Является ли этот обработчик событий автоматически удаляться, как только пользователь выбирает другую учетную запись из списка, а выбранная учетная запись выходит из сферы действия? Или он продолжает задерживаться, а затем, если пользователь снова выбирает одну и ту же учетную запись, назначается другой обработчик, тем самым создавая память?
Спасибо за быстрый ответ :) – Frank