【发布时间】:2010-11-16 22:39:14
【问题描述】:
我试图在以下代码中找出 tmpTabPages 的生命周期。让我们假设表单有一个名为 MyTabControl 的空 TabControl,并且有一个名为 NameCollection 的字符串集合。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each itm In NameCollection
Dim tmpTabPage as New TabPage(itm.toString)
'Add Controls to tmpTabPage
MyTabControl.TabPages.Add(tmpTabPage)
Next
End Sub
由于 tmpTabPage 的范围是 For/Next 块,通常它的生命周期会一直到块结束,对吧?但是由于它被添加到具有块之外范围的集合中,它是否获得与集合相同的生命周期,或者在这种情况下是 MyTabControl?最后,如果我调用 MyTabControl.TabPages.Clear ,集合中的 tmpTabPages 会被销毁,还是只会占用内存?
【问题讨论】:
标签: vb.net collections garbage-collection tabcontrol lifetime