Stream.Dispose 方法

定义

释放由 Stream 对象使用的所有资源。

重载

Dispose()

释放由 Stream 使用的所有资源。

Dispose(Boolean)

释放由 Stream 占用的非托管资源,还可以另外再释放托管资源。

Dispose()

Source:
Stream.cs
Source:
Stream.cs
Source:
Stream.cs

释放由 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)

Source:
Stream.cs
Source:
Stream.cs
Source:
Stream.cs

释放由 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

注解

应通过指定 truedisposing释放所有资源。 当 为 truedisposing,流还可以确保将数据刷新到基础缓冲区,并访问其他可终结对象。 由于终结器之间缺少排序,因此从终结器调用时,可能无法执行此操作。

如果流使用操作系统句柄与其源通信,请考虑为此使用 的 SafeHandle 子类。

此方法由公共 Dispose() 方法和 Finalize() 方法调用(如果已重写)。 Dispose()调用参数设置为 truedisposing受保护Dispose方法。 Finalize 调用 , Disposedisposing 设置为 false

继承者说明

在派生类中,不要重写 Close() 方法,而是将所有Stream清理逻辑放入 方法中Dispose(Boolean)

Dispose() 可以由其他对象多次调用。 重写 Dispose(Boolean) 时,请注意不要引用在以前调用 Dispose() 时已释放的对象。 有关如何实现 Dispose(Boolean)的详细信息,请参阅 实现 Dispose 方法

有关 和 Finalize()的详细信息Dispose(),请参阅清理非托管资源

适用于