ใครช่วยบอกวิธีลบคำเตือน CA2202 ทั้งหมดออกจากโค้ดต่อไปนี้ได้ไหม
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();
}
}
คำเตือน 7 CA2202: Microsoft.Usage: Object 'cryptoStream' สามารถกำจัดได้มากกว่า 1 ครั้งในวิธีการ 'CryptoServices.Encrypt (string, byte [], byte [])' เพื่อหลีกเลี่ยงการสร้าง System.ObjectDisposedException คุณไม่ควรเรียก Dispose มากกว่าหนึ่งครั้งบนวัตถุ: เส้น: 34
คำเตือน 8 CA2202: Microsoft.Usage: Object 'memoryStream' สามารถกำจัดได้มากกว่าหนึ่งครั้งในเมธอด 'CryptoServices.Encrypt (string, byte [], byte [])' เพื่อหลีกเลี่ยงการสร้าง System.ObjectDisposedException คุณไม่ควรเรียก Dispose มากกว่าหนึ่งครั้งบนออบเจ็กต์: Lines: 34, 37
คุณต้องใช้ Visual Studio Code Analysis เพื่อดูคำเตือนเหล่านี้ (ไม่ใช่คำเตือนของคอมไพเลอร์ c #)
[SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification="BrainSlugs83 said so.")]
" - ตรวจสอบว่าคุณมีusing System.Diagnostics.CodeAnalysis;
คำสั่ง "" ในบล็อกการใช้งานของคุณ