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吗?
是。
您所要做的就是创建一个带有闭包对象的委托,并从子窗口引用它。
您没有创建任何对子窗口的附加引用。