首页 > 代码库 > IDisposable .Dispose 方法
IDisposable .Dispose 方法
如果某对象的 Dispose 方法被调用一次以上,则该对象必须忽略第一次调用后的所有调用。 如果对象的 Dispose 方法被多次调用,该对象一定不要引发异常。 除Dispose 之外的实例方法在资源已释放时会引发 ObjectDisposedException。
用户可能期望资源类型使用特定的约定来表示已分配状态和已释放状态。流类即是这样一种示例,传统上认为它们要么打开要么关闭。具有此种约定的类的实施者可能选择实现具有自定义名称(如“Close”)的公用方法来调用 Dispose 方法。
因为 Dispose 方法必须显式进行调用,所以,实现 IDisposable 的对象还必须实现一个终结器,以便在未调用 Dispose 时处理释放资源问题。 默认情况下,垃圾回收器会在回收一个对象的内存之前自动调用该对象的终结器。然而,在调用 Dispose 方法后,通常不需要垃圾回收器调用已释放对象的终结器。 为防止自动终止,Dispose 实现可以调用 GC .SuppressFinalize 方法。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。