1.实现IDisposable接口
2.编码代码
public class Demo : IDisposable { public void Dispose() { ClearResource(true); GC.SuppressFinalize(this);//告诉GC这个对象已经不需要再次回收了 } ~Demo() { ClearResource(false); } /// <summary> /// 清理资源 /// </summary> /// <param name="isInvokeDispose"></param> protected virtual void ClearResource(bool isInvokeDispose) { if (!IsDisposed) { if (isInvokeDispose) { // 释放托管资源 } // 释放非托管资源 IsDisposed = true; } } private bool IsDisposed; }