क्या कोई मुझे बता सकता है कि निम्नलिखित कोड से सभी 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: ऑब्जेक्ट 'cryptoStream' विधि 'CryptoServices.Encrypt (स्ट्रिंग, बाइट [], बाइट [])' में एक से अधिक बार निपटाया जा सकता है। System.ObjectDisposedException उत्पन्न करने से बचने के लिए आपको किसी ऑब्जेक्ट पर एक से अधिक बार डिस्पोज़ नहीं करना चाहिए। लाइनें: 34
चेतावनी 8 CA2202: Microsoft.Usage: ऑब्जेक्ट 'मैमोरीस्ट्रीम' को 'CryptoServices.Encrypt (string, byte [], byte [])' विधि में एक से अधिक बार निपटाया जा सकता है। System.ObjectDisposedException उत्पन्न करने से बचने के लिए आपको किसी ऑब्जेक्ट पर एक से अधिक बार डिस्पोज़ नहीं करना चाहिए। लाइन्स: 34, 37
इन चेतावनियों को देखने के लिए आपको विज़ुअल स्टूडियो कोड विश्लेषण की आवश्यकता है (ये c # संकलक चेतावनी नहीं हैं)।
[SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times", Justification="BrainSlugs83 said so.")]
" - सुनिश्चित करें कि आपके पास using System.Diagnostics.CodeAnalysis;
अपने usings ब्लॉक में " " स्टेटमेंट है।