CA2202, wie man diesen Fall löst
Kann mir jemand sagen, wie ich alle CA2202-Warnungen aus dem folgenden Code entfernen kann?
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();
}
}
Warning 7 CA2202: Microsoft.Usage: Das Objekt 'cryptoStream' kann in der Methode 'CryptoServices.Encrypt (string, byte [], byte [])' mehrmals abgelegt werden. Um zu vermeiden, dass eine System.ObjectDisposedException generiert wird, sollten Sie Dispose nicht mehr als einmal für ein Objekt aufrufen: Zeilen: 34
Warning 8 CA2202: Microsoft.Usage: Das Objekt 'memoryStream' kann in der Methode 'CryptoServices.Encrypt (string, byte [], byte [])' mehrfach abgelegt werden. Um zu vermeiden, dass eine System.ObjectDisposedException generiert wird, sollten Sie Dispose nicht mehr als einmal für ein Objekt aufrufen: Zeilen: 34, 37
Sie benötigen Visual Studio Code Analysis, um diese Warnungen anzuzeigen (dies sind keine C # -Compiler-Warnungen).