以前に受け入れられた回答が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 のバージョン/コンパイラによっては、これが機能する場合と機能しない場合があります。