1
-3
编译时没有警告:
编辑
我刚刚再次验证了这个代码没有生成警告,而原来的代码生成了警告。
修改后的代码的工作方式如下:将引用设置为
|
2
142
在这种情况下,您应该取消显示警告。处理可处置资产的代码应该是一致的,您不必关心其他类拥有您创建和调用的可处置资产的所有权
更新: IDisposable.Dispose 您可以阅读以下文档:
可以说,这个规则的存在是为了让开发人员可以使用
|
3
40
|
4
9
当 StreamWriter 被释放时,它将自动释放包装好的 Stream CryptoStream ). 标准接口 溪流 (此处: MemoryStream ). 所以你的 记忆流 由 标准接口 使用 声明。你的呢 标准接口 流作者 使用 经过一些试验,似乎不可能完全消除警告。理论上讲,MemoryStream需要被释放,但是理论上你不能再访问它的ToArray方法了。实际上,MemoryStream不需要被释放,所以我使用这个解决方案并取消CA2000警告。
|
5
9
建议实施.NET框架指南我可以处理。处理以一种可以多次调用的方式。从 the MSDN description of IDisposable.Dispose : 因此,这一警告似乎毫无意义:
我想,如果您使用的IDisposable对象没有遵循标准实现指南,那么这个警告可能会有所帮助。但是,当像您现在这样使用.NET Framework中的类时,可以安全地使用#pragma来隐藏警告。而且我觉得这比像 suggested in the MSDN documentation for this warning . |
6
2
看起来整个CA2202事件是因为
可以这样解决:
注意,我们必须返回
至少这个代码对我有用。 编辑:
|
7
1
密码流基于内存流。 当crypostream被释放(在使用结束时),memorystream也被释放,然后memorystream再次被释放。 |
8
1
我从3条溪流中抽出2条作为田地,并将它们处理在
|
9
0
但我建议您使用不同的格式技术进行分组
|
10
0
避免所有using并使用嵌套的Dispose调用!
|
11
0
我只想打开代码,这样我们就可以看到对
虽然大多数.NET类(希望)能够抵御多次调用
你有一些选择;
|
12
-1
我使用了这种不使用流的字节[]和返回字节[]的代码
这样,您只需使用编码将字符串转换为byte[]。 |
Federico · 应特别注意确保安全使用堆栈上分配的字符数组 7 年前 |
fbrereto · 哪些函数注释标志可用于覆盖率扫描? 7 年前 |
Dave New · 代码分析规则异常情况 10 年前 |
dacongy · javascript生成的网页分析 11 年前 |
Cornel Marian · 代码分析和声纳有什么区别? 11 年前 |