m0_50986232 2021-06-17 16:00 采纳率: 84.6%
浏览 20

使用C#实现函数的析构

 

  • 写回答

1条回答 默认 最新

  • 流华追梦 2024-02-08 16:02
    关注

    下面的代码展示了如何创建一个名为MyClass的类,并在其内部实现了IDisposable接口。当我们想要显式地释放这个类所持有的资源时,可以调用Dispose()方法;而当没有显式调用Dispose()方法时,系统将会在对象被垃圾收集器回收之前自动调用Finalize()方法。

    using System;
     
    public class MyClass : IDisposable {
        // 需要释放资源的成员变量或者属性等
        
        public void Dispose() {
            // 清理资源的操作
            
            GC.SuppressFinalize(this); // 告知GC不再调用该对象的Finalize()方法
        }
        
        ~MyClass() {
            // Finalize()方法会被自动调用,但建议手动调用Dispose()方法进行资源释放
            Dispose();
        }
    }
    
    
    评论

报告相同问题?