3

鉴于在适用时应始终使用关键字“使用”,我想这样做。问题是,我怎么知道我可以使用哪些对象?

4

4 回答 4

1

实现的对象IDisposable可以与using构造一起使用。

您可以查看类的文档、代码中的定义,或使用 Visual Studio 中的对象资源管理器查找已实现的接口。

此外,如果您尝试使用未IDisposableusing块中实现的类型,编译器将发出警告。这意味着如果有疑问,您可以随时尝试,如果编译器抱怨,您不应该使用using. 但是,您应该始终了解您使用的是哪些对象IDisposable并相应地对待它们。

的主要目的IDisposable(尽管我已经看到它用于(和误用)其他东西),是确保及时释放非托管资源。此处使用的术语非托管资源可能是硬件设备句柄、文件、流、连接等。您希望确保在完成资源后立即处理任何内容,而不是等待 GC踢进去。

于 2012-08-16T14:17:49.270 回答
1

您可以使用FxCopCodeRush之类的工具来识别未Disposeusing实现IDisposable. 在这种情况下,他们会警告您。

此外,在 Visual Studio 中,您可以使用对象浏览器查看哪些类型实现了IDisposable.

在此处输入图像描述

于 2012-08-16T14:26:16.860 回答
0

建议在大多数情况下,IDisposable应在using块中使用实现的类。

要查看一个类是否实现了IDisposable,您只需查看它的定义即可。IDiposable如果实现未正确处理,FXCop 等代码风格分析工具也会提醒您。

于 2012-08-16T14:18:06.383 回答
-1

将它用于实现的所有类的本地实例IDisposable。他们有一个Dispose方法。

于 2012-08-16T14:18:05.590 回答