当前位置:  开发笔记 > 编程语言 > 正文

识别IDisposable对象

如何解决《识别IDisposable对象》经验,为你挑选了3个好方法。

我必须检查一些其他人有一些内存泄漏的代码.现在我正在搜索一次性对象以使用using语句对它们进行包围,我想知道是否有一种快速方式告诉你所有声明的一次性对象.我的意思是像resharper或另一个visual studio插件.

谢谢.



1> Neil Barnwel..:

我明白你的意思.我不知道,但看看FxCop.它可能在某处有一个规则,用于检查是否未处理实现IDisposable的对象.只是预感,介意.

更新:Mitch Wheat写道:

FxCop包含规则,那就是说从实现IDisposable的类型派生的所有类型都应该实现Dispose()模式

谢谢,米奇.



2> Igal Tabachn..:

你可以用ReSharper做到这一点.使用ReSharper,您可以使用Alt-End轻松导航任何界面的实现,但是对于诸如此类的流行界面IDisposable是不实际的.

这是你可以做的:

    转到对象浏览器(Ctrl-Alt-J或视图 - >对象浏览器)

    System.IDisposable

    右键单击并选择"查找高级用法"(ReSharper的菜单项)

    用户查找,选中"范围选择解决方案"下的"实施"

    您将获得所有类型(您的解决方案)实施的列表IDisposable.那些粗体是你想要的 - 他们IDisposable直接实现.

希望有所帮助.



3> Wolfwyrd..:

内FxCop的使用规则CA2213(DisposableFieldsShouldBeDisposed)和CA2215(DisposeMethodsShouldCallBaseClassDispose)将赶上那里处置未在自己的类称为正确,但我不相信有什么在那里检查处置总是叫讽刺意味的是,虽然有一个规则( CA2202)用于DoNotDisposeObjectsMultipleTimes

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有