unity c#怎么调用析构函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity c#怎么调用析构函数相关的知识,希望对你有一定的参考价值。
析构函数不能显式调用的. 不过可以自己写一个函数,手工调用清理相关资源. msdn C# 编程指南 析构函数(C# 编程指南) 示例 请参见 发送反馈意见 析构函数用于析构类的实例。 备注 不能在结构中定义析构函数。只能对类使用析构函数 参考技术A 析构函数在你new的时候已经调用了 在构造函数调用之后如何调用析构函数[重复]
【中文标题】如何调用析构函数[重复]【英文标题】:How to call Destructor [duplicate] 【发布时间】:2017-01-30 18:28:27 【问题描述】:我知道当不再使用对象时,垃圾收集器会调用析构函数。 但是我想知道
如何通过c#代码调用析构函数?
如果可能,请举一些基本的例子来帮助理解。
【问题讨论】:
你有没有费心去谷歌这个? 你认为为什么需要调用析构函数? 您几乎肯定不需要拥有终结器(C# 没有析构函数,只有终结器),更不用说手动调用它了。你几乎肯定应该只有一个Dispose
方法,并且你应该手动调用那个。
另一种选择是将其包装在 using
语句中,以便自动处理
【参考方案1】:
您不会在 .NET 中调用析构函数 托管堆仅由 CLR 和 CLR 处理。
但是,您可以为类定义析构函数,一旦对象被 GC 收集,就会调用析构函数
class Foo
public Foo()
Console.WriteLine("Constructed");
~Foo()
Console.WriteLine("Destructed");
请注意,析构函数前面没有(也不能)有公共修饰符,这有点暗示您不能显式调用对象的析构函数。
【讨论】:
【参考方案2】:你可以看看Destructor Microsoft docs。
您需要声明一个与类名同名但带有前导“~”符号的函数。
【讨论】:
问题是怎么称呼,不是现在定义。以上是关于unity c#怎么调用析构函数的主要内容,如果未能解决你的问题,请参考以下文章