在Dispose方法中写入流/ finalyze

时间:2015-09-24 19:00:42

标签: .net idisposable

我有在构造函数中写入文件头的类。然后用户调用将数据块写入流的方法。然后在Dispose中我编写尾部数据。

我不想提取任何具体的方法 - 因为它会打破封装,用户总是忘记调用它。使用"使用"构造是首选。

我想知道在Dispose中写入任何东西在概念上是否正确吗?

1 个答案:

答案 0 :(得分:2)

确定没错。框架中的许多类都是这样的。例如,FileStream将在Dispose上刷新其缓冲区,该缓冲区将写入该文件。 BufferedStreamStreamWriter等相同。

只是不要将DisposeFinalize混淆(终结者,又名~YourClass) - 这不是一回事,而依赖这一个就是一个非常糟糕™。