gpt4 book ai didi

c# - 在类销毁期间运行方法

转载 作者:行者123 更新时间:2023-11-30 22:12:36 29 4
gpt4 key购买 nike

我有一个 MVVM 项目,需要在 VM 被销毁时运行一些方法。我正在尝试这个:

public class MyClass
{
public void MyCleanUpmethod(object p)
{
// My Clean up proccess here
....
}

~ MyClass()
{
MyCleanUpmethod(new object());
}
}

我的问题是 ~ MyClass() 仅在关闭整个应用程序时运行,我需要在当前过程中不再使用 MyClass 时运行它。

这意味着如果 MyClass 用作窗口的 Datacontext ~ MyClass() 必须在窗口关闭时运行,如果一个实例MyClass 用于其他不同于Datacontext 的地方,~ MyClass() 也必须运行

我该怎么做?

最佳答案

你应该看看 IDisposable界面。然后您的析构函数代码进入 Dispose 方法,该方法应该由您自己的代码调用。或者,您可以使用 using 语句,该语句负责在范围末尾调用 Dispose。要干净地实现处置模式,请查看 MSDN article .

使用终结器是不合适的,因为它是由垃圾收集器调用的,可能不及时(就像你的情况)。

关于c# - 在类销毁期间运行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19619792/

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