CA2202:如何规避警告
本文关键字:警告 何规避 CA2202 | 更新日期: 2023-09-27 18:03:17
我在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();
}
根据MSDN StreamWriter.Close
的方法描述是"关闭当前StreamWriter对象和底层流"。因此,memoryStream.Close()
和streamWriter.Close()
关闭了下伏流。这是由编译器诊断出来的,建议避免。还要确保调用streamWriter.Close()
,因为此方法会刷新streamWriter
中的缓冲区。
using
关键字(范围包括. dispose ()/. close()的最终调用)。请参考以下MSDN页面了解典型用法。