我将为此创建一个新线程,因为从 VS2012 及更高版本开始,以前接受的答案不再起作用。使用嵌套 using 语句时,Visual Studio 代码分析给您带来烦人的 CA2202 不要多次处理对象,如下代码:
using (MemoryStream msData = new MemoryStream(encodedData))
{
using (BinaryWriter wtr = new BinaryWriter(msData))
{
wtr.Write(IV, 0, IV.Length);
wtr.Write(encrypted, 0, encrypted.Length);
}
}
这很烦人,因为它甚至列在MSDN 示例中。Microsoft 甚至为此警告提供了建议的修复程序,但它不再修复该警告。这可能适合您,也可能不适合您,具体取决于您使用的 Visual Studio 版本/编译器。