我正在编写一个使用 3rd 方 .NET 库的 VB.net 应用程序(但如果你愿意,你可以用 C# 回答,没问题)。特别是,该库中的一种方法将 IO.Stream 作为输入(除其他外)并将其处理结果写入所述流。我的问题是该方法在写入流后关闭流,所以我无法读回它写入的数据!
更具体地说:如果流是 FIeStream ,它当然可以工作,因为它将数据写入磁盘,但是如果我想将数据直接读取到内存怎么办?我尝试使用 MemoryStream,但正如我所说,当方法返回时,流已经关闭,我无法从中读取任何内容:(
编辑:通过执行类似于“usr”建议的操作来解决。这是代码,如果有人需要它:
Imports System.IO
Public Class CloseHijackedMemoryStream
Inherits MemoryStream
Public Overrides Sub Close()
'We don't do anything, so the stream is still open
End Sub
Public Sub RealClose()
MyBase.Close()
End Sub
End Class