我有在构造函数中写入文件头的类。然后用户调用将数据块写入流的方法。然后在Dispose中我编写尾部数据。
我不想提取任何具体的方法 - 因为它会打破封装,用户总是忘记调用它。使用"使用"构造是首选。
我想知道在Dispose中写入任何东西在概念上是否正确吗?
答案 0 :(得分:2)
确定没错。框架中的许多类都是这样的。例如,FileStream
将在Dispose
上刷新其缓冲区,该缓冲区将写入该文件。 BufferedStream
,StreamWriter
等相同。
只是不要将Dispose
与Finalize
混淆(终结者,又名~YourClass
) - 这不是一回事,而依赖这一个就是一个非常糟糕™。