
下面的代码展示了如何创建一个名为MyClass的类,并在其内部实现了IDisposable接口。当我们想要显式地释放这个类所持有的资源时,可以调用Dispose()方法;而当没有显式调用Dispose()方法时,系统将会在对象被垃圾收集器回收之前自动调用Finalize()方法。
using System;
public class MyClass : IDisposable {
// 需要释放资源的成员变量或者属性等
public void Dispose() {
// 清理资源的操作
GC.SuppressFinalize(this); // 告知GC不再调用该对象的Finalize()方法
}
~MyClass() {
// Finalize()方法会被自动调用,但建议手动调用Dispose()方法进行资源释放
Dispose();
}
}