Хтось може сказати мені, як видалити всі попередження 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. Використання: Об'єкт "cryptoStream" може бути розміщений не один раз у методі "CryptoServices.Encrypt (рядок, байт [], байт [])". Щоб уникнути генерації System.ObjectDisposedException, ви не повинні викликати розпорядження не один раз на об’єкт .: Рядки: 34
Попередження 8 CA2202: Microsoft.Usage: Об'єкт 'memoryStream' може бути розміщений не один раз у методі 'CryptoServices.Encrypt (рядок, байт [], байт [])'. Щоб уникнути генерації System.ObjectDisposedException, ви не повинні викликати розпорядження не один раз на об’єкт .: Рядки: 34, 37
Для перегляду цих попереджень вам потрібен аналіз коду Visual Studio (це не попередження компілятора c #).
[SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification="BrainSlugs83 said so.")]
" - переконайтеся, що using System.Diagnostics.CodeAnalysis;
у вашому блоці " " використовується " ".