例如在这段代码中:
void ButtonCreator()
{
Button elboton = new Button();
}
调用此方法后 elboton
会发生什么情况?
最佳答案
如果它们没有被其他对象(例如容器)引用,那么它们将变得不可访问并且有资格被垃圾收集器收集。这与创建任何其他对象相同。
请注意 System.Windows.Forms.Control
类(及其子类如 Button
)都实现了 IDisposable
接口(interface),因此确保释放与 Button
关联的任何 unmanaged 资源的最简单方法是使用 using
block ,如下所示:
using(Button elboton = new Button()) {
// Do whatever you need to do
}
// elboton is now disposed
但是,无论您是否使用 using
block ,在 GC 运行之前,与该对象关联的任何托管资源都不会被回收。
关于c# - 方法完成后在方法中创建的控件会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2151122/