在 Dispose 方法中写入流/finalyze
Write to stream / finalyze in Dispose method
我有 class 在构造函数中写入文件头。然后用户调用将数据块写入流的方法。然后在 Dispose 中我正在写尾部数据。
我不想提取任何可以执行此操作的特定方法 - 因为它会破坏封装并且用户总是忘记调用它。使用 "using" 构造是首选。
我想知道在 Dispose 中写任何东西在概念上是否正确?
当然是正确的。框架中的许多 类 都是这样做的。例如 FileStream
将在 Dispose
刷新其缓冲区,这将写入文件。 BufferedStream
、StreamWriter
等
相同
只是不要将 Dispose
与 Finalize
(终结器,又名 ~YourClass
)混淆 - 这不是一回事,依赖这个将是 非常糟糕™。
我有 class 在构造函数中写入文件头。然后用户调用将数据块写入流的方法。然后在 Dispose 中我正在写尾部数据。
我不想提取任何可以执行此操作的特定方法 - 因为它会破坏封装并且用户总是忘记调用它。使用 "using" 构造是首选。
我想知道在 Dispose 中写任何东西在概念上是否正确?
当然是正确的。框架中的许多 类 都是这样做的。例如 FileStream
将在 Dispose
刷新其缓冲区,这将写入文件。 BufferedStream
、StreamWriter
等
只是不要将 Dispose
与 Finalize
(终结器,又名 ~YourClass
)混淆 - 这不是一回事,依赖这个将是 非常糟糕™。