Stream.Dispose 方法

定义

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

重载

名称 说明
Dispose()

释放该 Stream命令使用的所有资源。

Dispose(Boolean)

释放由托管资源使用 Stream 的非托管资源,并选择性地释放托管资源。

Dispose()

Source:
Stream.cs
Source:
Stream.cs
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
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释放所有资源。 当 disposingtrue时,流还可以确保数据刷新到基础缓冲区,并访问其他可完成的对象。 由于终结器之间缺少排序,因此从终结器调用时,可能无法执行此操作。

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

如果已重写此方法,则由公共 Dispose() 方法和 Finalize() 方法调用。 Dispose()调用受保护的Dispose方法,并将disposing参数设置为trueFinalize使用Dispose,其中disposing设置为false

继承者说明

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

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

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

适用于