gpt4 book ai didi

c# - 弱引用和一次性对象

转载 作者:太空狗 更新时间:2023-10-29 22:15:09 25 4
gpt4 key购买 nike

在 C# 中,可以创建对对象的弱引用,如下所述:

WeakReference Class

在 .net 中,一些类还实现了 IDisposable 接口(interface)。执行调用此接口(interface)的 Dispose 方法以手动处置当前持有的任何托管或非托管资源。一个示例可能是位图对象或类。

如果我将实现 IDisposable 的对象分配给弱引用,如果弱引用收集了该对象,是否会调用 Dispose?

最佳答案

一般来说,答案确实是否定的。

但是,使用 IDisposable pattern 实现 IDisposable 的正确实现类(希望所有 .NET 类都这样做)。还将实现在对象被垃圾回收时调用的终结器,并在终结器内部调用 Dispose。因此,对于 IDisposable 的所有正确实现,将调用 Dispose 方法。

(注意:Fernando 的反例没有正确实现 IDisposable)

关于c# - 弱引用和一次性对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2841225/

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