Stream.Dispose 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
释放对象使用 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 仅释放非托管资源。
注解
应通过指定 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()请参阅 “清理非托管资源”。