我的程序中有以下代码:
//Dialog Form Class
public int Age;
private void goButtonClick(object sender, EventArgs e)
{
Age = trackBar1.Value;
Close();
}
//Main Form Class
DialogForm df = new DialogForm();
df.ShowDialog();
df.Dispose();
if(df.Age >= 18)
{
//do stuff
}
令人惊讶的是,我认为我需要一种访问 df.Age 的方法,因为它会被该Close
方法处理,但令人惊讶的是,我可以访问这个值。我认为这是垃圾收集器的某种智能,所以我df.Dispose()
在调用 df.Age 之前添加只是为了看看会发生什么,但我仍然可以访问它。所以我糊涂了?为什么会这样?一件物品究竟什么时候被处置?