Stream.Dispose 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
释放由 Stream 对象使用的所有资源。
重载
Dispose() |
释放由 Stream 使用的所有资源。 |
Dispose(Boolean) |
释放由 Stream 占用的非托管资源,还可以另外再释放托管资源。 |
Dispose()
释放由 Stream 使用的所有资源。
public:
virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()
实现
注解
此方法通过写入对后备存储的任何更改并关闭流以释放资源来释放流。
调用 Dispose
允许将 使用的资源 Stream 重新分配用于其他目的。 有关 有关详细信息 Dispose
,请参阅 清理非托管资源。
继承者说明
将流对象的所有清理逻辑放在 中 Dispose(Boolean) 。 不要重写 Close() 。
请注意,由于向后兼容性要求,此方法的实现不同于针对 Dispose 模式的建议指南。 此方法调用 Close() ,然后调用 Dispose(Boolean) 。
适用于
Dispose(Boolean)
释放由 Stream 占用的非托管资源,还可以另外再释放托管资源。
protected:
virtual void Dispose(bool disposing);
protected virtual void Dispose (bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)
参数
- disposing
- Boolean
若要释放托管资源和非托管资源,则为 true
;若仅释放非托管资源,则为 false
。
注解
应该通过为 指定 来释放 true
所有资源 disposing
。 当 disposing
true
为 时,流还可以确保将数据刷新到基础缓冲区,并访问其他可终结对象。 当从终结器调用 时,由于终结器之间缺少排序,这可能无法实现。
如果流使用操作系统句柄来与源通信,请考虑使用 的子 SafeHandle 类来达到此目的。
此方法由公共 方法和 Dispose 方法 Finalize 调用。 Dispose 调用参数设置为 Dispose 的 disposing
受保护方法 true
。 Finalize 调用 Dispose , disposing
将 设置为 false
。
继承者说明
在派生类中,不要替代 方法,而是 Close() 将所有 Stream 清理逻辑放在 Dispose(Boolean) 方法中。
Dispose() 可以由其他对象多次调用。 重写 Dispose(Boolean) 时,请注意不要引用在以前调用 Dispose() 时已释放的对象。 若要详细了解如何实现 Dispose(Boolean) ,请参阅实现 Dispose 方法。
有关 和 Dispose() 详细信息 Finalize() ,请参阅 清理非托管资源。