gpt4 book ai didi

c# - WPF窗口类销毁

转载 作者:太空宇宙 更新时间:2023-11-03 22:23:32 25 4
gpt4 key购买 nike

我创建了一个这样的窗口:

if (someCondition)   
{
MyWindow wnd = new MyWindow();
wnd.Owner = this;
wnd.ShowDialog();
}

我希望在右花括号处调用 MyWindow 的析构函数,但它没有。我是否需要调用删除/销毁之类的东西才能调用 MyWindow 的析构函数?

最佳答案

“析构函数”或 finalizer正如在 C# 中调用的那样,只要垃圾收集器感觉合适,就会调用它。您可以使用 System.GC.Collect() 手动触发垃圾收集器, 但是 you probably don't want to do this .另一方面,如果您谈论的是 Dispose(),则可以通过在“using”子句中创建窗口来调用它:

using (var wnd = new MyWindow())
{
wnd.Owner = this;
wnd.ShowDialog();
}

这将使 wnd.Dispose() 在 using 子句完成时被调用,并且基本上与编写相同:

var wnd = new MyWindow(); 
wnd.Owner = this;
wnd.ShowDialog();
wnd.Dispose();

关于 IDisposable 的使用界面 this question可能会有帮助 - 和 several more on StackOverflow .

关于c# - WPF窗口类销毁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com