GC会收集此ChildWindow吗

本文关键字:ChildWindow GC | 更新日期: 2023-09-27 18:24:00

最近我经常使用匿名方法,所以我想知道我是否喜欢:

在我的MainWindow课堂上,我有:

ChildWindow myChildWindow = new ChildWindow();
myChildWindow.Closing+= (o, e) => {
 //DoSomething
 rootGrid.Children.Remove(o as ChildWindow);
}
this.rootGrid.Children.Add(myChildWindow );
myChildWindow.Show();

在这种情况下,我将无法从.Closing中删除事件处理程序,因为它是用匿名方法定义的。

GC还会收集此ChildWindow吗?

GC会收集此ChildWindow吗

是。

您所要做的就是创建一个带有闭包对象的委托,并从子窗口引用它。

您没有创建任何对子窗口的附加引用。