Stream.Dispose 方法

定义

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

注解

You should release all resources by specifying true for disposing. 当是disposing``true时,流还可以确保数据刷新到基础缓冲区,并访问其他可完成的对象。 由于终结器之间缺少排序,因此从终结器调用时,可能无法执行此操作。

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

此方法由公共 Dispose 方法和 Finalize 方法调用。 Dispose invokes the protected Dispose method with the disposing parameter set to true. Finalize 调用 Dispose 设置为 disposing false.

继承者说明

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

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

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

适用于