Adakah yang bisa memberi tahu saya cara menghapus semua peringatan CA2202 dari kode berikut?
public static byte[] Encrypt(string data, byte[] key, byte[] iv)
{
using(MemoryStream memoryStream = new MemoryStream())
{
using (DESCryptoServiceProvider cryptograph = new DESCryptoServiceProvider())
{
using (CryptoStream cryptoStream = new CryptoStream(memoryStream, cryptograph.CreateEncryptor(key, iv), CryptoStreamMode.Write))
{
using(StreamWriter streamWriter = new StreamWriter(cryptoStream))
{
streamWriter.Write(data);
}
}
}
return memoryStream.ToArray();
}
}
Peringatan 7 CA2202: Microsoft.Usage: Objek 'cryptoStream' dapat dibuang lebih dari sekali dalam metode 'CryptoServices.Encrypt (string, byte [], byte [])'. Untuk menghindari pembuatan System.ObjectDisposedException, Anda tidak boleh memanggil Buang lebih dari satu kali pada suatu objek .: Garis: 34
Peringatan 8 CA2202: Microsoft.Usage: Object 'memoryStream' dapat dibuang lebih dari sekali dalam metode 'CryptoServices.Encrypt (string, byte [], byte [])'. Untuk menghindari pembuatan System.ObjectDisposedException, Anda tidak boleh memanggil Buang lebih dari satu kali pada suatu objek .: Baris: 34, 37
Anda memerlukan Visual Studio Code Analysis untuk melihat peringatan ini (ini bukan peringatan compiler c #).
[SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification="BrainSlugs83 said so.")]
" - pastikan Anda memiliki using System.Diagnostics.CodeAnalysis;
pernyataan " " di blok penggunaan Anda.