Stream.Dispose 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
释放由 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
。
注解
应通过指定 true
来 disposing
释放所有资源。 当 为 true
时disposing
,流还可以确保将数据刷新到基础缓冲区,并访问其他可终结对象。 由于终结器之间缺少排序,因此从终结器调用时,可能无法执行此操作。
如果流使用操作系统句柄与其源通信,请考虑为此使用 的 SafeHandle 子类。
此方法由公共 Dispose() 方法和 Finalize() 方法调用(如果已重写)。 Dispose()调用参数设置为 true
的disposing
受保护Dispose方法。 Finalize
调用 , Dispose 将 disposing
设置为 false
。
继承者说明
在派生类中,不要重写 Close() 方法,而是将所有Stream清理逻辑放入 方法中Dispose(Boolean)。
Dispose() 可以由其他对象多次调用。 重写 Dispose(Boolean) 时,请注意不要引用在以前调用 Dispose() 时已释放的对象。 有关如何实现 Dispose(Boolean)的详细信息,请参阅 实现 Dispose 方法。
有关 和 Finalize()的详细信息Dispose(),请参阅清理非托管资源。