在以下级别:
class MyPanel : Panel
{
...
protected override void Dispose(bool disposing)
{
// My code here
}
}
以下两种代码样本是否相等?
base.Dispose(disposing);
v
if (disposing)
{
List<Control> ctrls = new List<Control>(this.Controls);
this.Controls.Clear();
foreach(Control c in ctrls)
{
c.Dispose();
}
}
base.Dispose(disposing);
如果它们产生不同的影响,会是什么?
<><>Edit>: 我要求这样做是因为,无论出于何种原因,在处置任何儿童之前,首先冻结我的方案( disating
是真实的,而Controls
则包含2项控制,而第二种方式则是罚款。 如果我能乐意使用第二种方法,那那是巨大的。