编码什么是确定类型是否是IDisposable的最快方法

Ral*_*ton 5 c# visual-studio

在编码器生产率方面,VS 2005或2008中最快的方式是确定Foo是否实现IDisposable.我不止一次发生过这样的情况,我发现我使用的是一种没有using阻塞的类型,因为它从来没有发生过我需要实现IDisposable的东西.

Joh*_*ers 8

将它放在using语句中,看它是否编译:

using (var x = new TypeInQuestion(params)) {}
Run Code Online (Sandbox Code Playgroud)

如果TypeInQuestion没有实现IDisposable,这将无法编译.

另一种最快的方法是使用ReSharper,单击变量(x在本例中),并查看是否有建议将其放入using语句中.


Chr*_*ett 6

如果您有ReSharper,请突出显示该变量,等待灯泡,然后按Alt + Enter.如果其中一个选项是"使用''换行",则它是IDisposable.