我怎么知道哪些对象可以在C#中使用关键字USING?

时间:2012-08-16 14:16:51

标签: c# using

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

4 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

您可以使用FxCopCodeRush等工具来识别您未在实施Dispose的对象上调用using /使用IDisposable的代码。在这种情况下,他们会警告你。

此外,在Visual Studio中,您可以使用Object Browser查看哪些类型实现IDisposable

enter image description here

答案 2 :(得分:0)

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

要查看某个类是否实现了IDisposable,您可以查看它的定义。如果IDiposable实现配置不正确,FXCop等代码样式分析工具也会提醒您。

答案 3 :(得分:-1)

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