Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何手动处置CryptoServiceProvider?_C#_Dispose_Rsacryptoserviceprovider - Fatal编程技术网

C# 如何手动处置CryptoServiceProvider?

C# 如何手动处置CryptoServiceProvider?,c#,dispose,rsacryptoserviceprovider,C#,Dispose,Rsacryptoserviceprovider,我在MSDN()上读到必须处置RSACryptServiceProvider。他们举了一个例子: using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider()) 现在,我正试图将RSACryptoServiceProvider包含到MyClass中,并在几个方法中使用它。使用此设置时,我无法使用using语句 相反,我尝试在适当的时间调用RSACryptoServiceProvider对象的.Dispose()方法,但

我在MSDN()上读到必须处置RSACryptServiceProvider。他们举了一个例子:

using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
现在,我正试图将RSACryptoServiceProvider包含到MyClass中,并在几个方法中使用它。使用此设置时,我无法使用using语句

相反,我尝试在适当的时间调用RSACryptoServiceProvider对象的.Dispose()方法,但随后收到编译错误消息:

`由于其保护级别,System.Security.Cryptography.Depose(bool)无法访问

RSACryptServiceProvider的使用时间不应该超过一个函数调用(使用using语句)

我如何解决这一问题,是否不将Dispose call作为一个选项

该方法看起来将调用dispose方法:

此方法是对IDisposable.Dispose方法的简单调用。 调用Dispose允许为其他目的重新分配Gorithm类使用的资源。有关Dispose的更多信息,请参阅清理非托管资源


@phq:或者,如果出于某种原因您坚持调用Dispose,则将该值强制转换为IDisposable,然后根据强制转换的结果调用Dispose。但最好照文件上说的做,并称之为明确。