我有带事件的VirtualDataCollection
VirtualDataCollection.ItemsLoading += VirtualDataCollectionOnItemsLoading;
我无法取消订阅事件,因为它可以被称为随机数量。如何确定,该实例将由GC收集?我阅读了一些有关未订阅事件泄露的文章(如this)。另外,afaik,设置
是错误的VirtualDataCollection.ItemsLoading = null;
目前,我正在使用
public void OnNavigatedFrom()
{
VirtualDataCollection.Clear();
VirtualDataCollection = null;
Cleanup();
}
但那是enoguh吗?
编辑:嗯......实际上,我也可以添加public void OnNavigatedFrom()
{
VirtualDataCollection.ItemsLoading -= VirtualDataCollectionOnItemsLoading;
VirtualDataCollection.Clear();
VirtualDataCollection = null;
Cleanup();
}
答案 0 :(得分:1)
如何确定,该实例将由GC收集?
如果你只是担心事情的GC方面而且它没有收集发布实例,那就不要了。从事件发布者到事件处理程序的引用,但不是相反。