当前位置: 首页 > 编程语言 > C#

Finalizers在C#中使用Dispose()分享

时间:2023-04-10 13:55:25 C#

Finalizers在C#中使用Dispose()请参考MSDN的代码示例:VS.100).aspx)//基类设计模式publicclassBase:IDisposable{privatebooldisposed=false;//实现IDisposable.publicvoidDispose(){Dispose(true);GC.SuppressFinalize(this);}protectedvirtualvoidDispose(booldisposing){if(!disposed){if(disposing){//释放其他状态(托管对象)。}//释放你自己的状态(非托管对象)。//将大字段设置为null.disposed=true;}}//使用C#析构函数语法完成代码。~Base(){//只需调用Dispose(false).Dispose(false);}}在Dispose()实现中调用GC.SupressFinalize();,但提供了一个析构函数来完成对象。调用GC.SuppressFinalize()时为析构函数提供实现有什么意义?只是有点困惑是什么意图?有两种情况:如果有人忘记调用Dispose,终结器将(最终)运行以进行最终清理。由于终结会损害性能,因此理想情况下没有人会忘记Dispose。使用构造有助于此。以上就是C#学习教程:C#中Dispose()终结器的使用,分享全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表作品如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: