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#怎么调用析构函数的主要内容,如果未能解决你的问题,请参考以下文章

如何调用析构函数[重复]

使用 Mutex 同步 C# 对象:在 C# 对象析构函数中调用 ReleaseMutex() 时出现问题

C语言里面构造函数和析构函数的运用办法

c++ delete 调用析构函数问题。

c++中,析构函数和delete各有啥作用啊

c++ 析构函数 是在啥时候执行