1
Using ms As New MemoryStream
Dim st As New GZipStream(ms, CompressionMode.Compress, True)
'... some code
Return buffer
End Using
而這種代碼分析問題:使用聲明還是引起了2個一次性對象
dim As New MemoryStream
using st As New GZipStream(ms, CompressionMode.Compress, True)
'... some code
Return buffer
End Using
我曾呼籲的Dispose()和close()一些舊代碼手動在流對象 - 這是造成CA2202代碼分析警告可能會對Dispose()進行多次調用。所以我添加使用語句爲記憶流和gzipstream和錯誤沒有消失!?
如果我在內存流或gzipstream對象上使用它,那麼錯誤就會消失。是造成這種行爲?
否,同時使用時存在的誤差(具體根據MSDN文檔,行爲在代碼示例中的註釋解釋)和消失時僅1使用聲明被使用! – jaffa 2013-04-29 16:32:58
@jaffa,請參閱編輯,我重新回答了答案。 – 2013-04-29 16:38:01
我想這可能會發生,謝謝。 – jaffa 2013-04-30 07:47:41