我有以下代码:
void loginButton_Click(object sender, EventArgs e)
{
var service = new MyService();
service.LoginCompleted += (sender2, e2) =>
{
//closes the animated loading dialog and show the logged in screen
};
service.LoginAsync("user", "password");
//starts an animated "loading" dialog
}
我不确定这是否是正确的方法,因为我不知道GC是否可以在MyService
方法等待完成时从内存中删除LoginAsync
实例LoginCompleted
事件永远不会被调用。
答案 0 :(得分:0)
只要有对MyService对象的任何引用,GC就不会删除该对象。因此,如果LoginAsync对我认为具有的MyService对象有任何引用,那么它将不会被GC控制。