gpt4 book ai didi

c# - 我可以设置一些东西让一个类在卸载时做一些事情吗

转载 作者:行者123 更新时间:2023-11-30 22:00:58 24 4
gpt4 key购买 nike

如果我有课,

class order()
{
int orderId {get;set;}
double total {get;set;}
public order(){}
...
}

有没有我可以重载的东西,以便 c# 每次卸载时都做一些事情,而不是告诉它我想要它完成?

   static void Main(string[] args)
{
Order activeOrder = new Order();
// do stuff to the order
activeOrder = new Order(); <---- Automatically commit any changes to the order, since I am starting a new one.
}

最佳答案

你问的没有意义。当您将新的 Order 实例分配给 activeOrder 变量时,第一个 Order 实例不会“卸载”。它只是符合垃圾收集的条件(除非它也在其他地方被引用)。这意味着下次 GC 运行时,将收集实例,如果定义了终结器,则运行终结器。问题在于它是完全不确定的:您不知道 GC 何时运行。

Order 类无法检测是否为变量分配了新实例。您所能做的就是编写一个终结器,但由于您不知道它何时运行,所以这可能不是一个好主意。当您处理完当前的 Order 后,您应该明确提交更改。

关于c# - 我可以设置一些东西让一个类在卸载时做一些事情吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28132402/

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