簡體   English   中英

CA2202:如何規避警告?

[英]CA2202: How to circumvent the warning?

我在Visual Studio 2015中通​​過代碼分析運行了我的代碼。它顯示了一個警告,我不知道該如何規避。 以下代碼段顯示了原理。 該程序產生警告CA2202:

“對象'memoryStream'可以在方法中多次放置...”。

private void tt()
{
    MemoryStream memoryStream = null;
    StreamWriter streamWriter = null;
    memoryStream = new MemoryStream();
    streamWriter = new StreamWriter(memoryStream, Encoding.Unicode);
    memoryStream.Close();
    streamWriter.Close();
}

根據MSDNStreamWriter.Close的方法描述為“關閉當前StreamWriter對象和基礎流。”。 因此, memoryStream.Close()streamWriter.Close()關閉基礎流。 這是由編譯器診斷的,建議避免。 還要確保您調用streamWriter.Close()因為此方法將刷新streamWriter的緩沖區。

此外,對於此類操作,強烈建議using關鍵字(作用域包括對.Dispose()/ .Close()的最終調用)。 請參考下面的MSDN頁面,了解典型用法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM