我有一個Windows.Forms應用程序,其中一個ListBox中填充了Account對象。 當用戶從列表中選擇一個帳戶時,我附加了一個EventHandler,負責更新所選帳戶事務,當用戶正在查找時有新的帳戶事務。垃圾收集器的事件處理程序
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 2010-02-03 13:44:36