我必须检查一些其他人有一些内存泄漏的代码.现在我正在搜索一次性对象以使用using语句对它们进行包围,我想知道是否有一种快速方式告诉你所有声明的一次性对象.我的意思是像resharper或另一个visual studio插件.
谢谢.
我明白你的意思.我不知道,但看看FxCop.它可能在某处有一个规则,用于检查是否未处理实现IDisposable的对象.只是预感,介意.
更新:Mitch Wheat写道:
FxCop包含规则,那就是说从实现IDisposable的类型派生的所有类型都应该实现Dispose()模式
谢谢,米奇.
你可以用ReSharper做到这一点.使用ReSharper,您可以使用Alt-End轻松导航任何界面的实现,但是对于诸如此类的流行界面IDisposable
是不实际的.
这是你可以做的:
转到对象浏览器(Ctrl-Alt-J或视图 - >对象浏览器)
找 System.IDisposable
右键单击并选择"查找高级用法"(ReSharper的菜单项)
用户查找,选中"范围选择解决方案"下的"实施"
您将获得所有类型(您的解决方案)实施的列表IDisposable
.那些粗体是你想要的 - 他们IDisposable
直接实现.
希望有所帮助.
内FxCop的使用规则CA2213(DisposableFieldsShouldBeDisposed)和CA2215(DisposeMethodsShouldCallBaseClassDispose)将赶上那里处置未在自己的类称为正确,但我不相信有什么在那里检查处置总是叫讽刺意味的是,虽然有一个规则( CA2202)用于DoNotDisposeObjectsMultipleTimes