鉴于在适用时应始终使用关键字“using”,我想继续使用。问题是,我怎么知道我可以使用哪些对象?
答案 0 :(得分:1)
实现IDisposable
的对象可以与using
构造一起使用。
您可以在代码中查看类的文档,其定义,或使用Visual Studio中的对象资源管理器来查找已实现的接口。
此外,如果您尝试使用在IDisposable
块中未实现using
的类型,编译器将发出警告。这意味着如果有疑问,你可以随时尝试,如果编译器抱怨,你不应该使用using
。但是,您应该始终了解您使用的对象是IDisposable
并相应地对待它们。
IDisposable
的主要目的(尽管我已经看到它使用(和误用)其他东西),是为了确保及时释放非托管资源。这里使用的术语非托管资源可能是硬件设备句柄,文件,流,连接等。您希望确保在完成资源后立即处理,而不是等待GC踢进去。
答案 1 :(得分:1)
您可以使用FxCop或CodeRush等工具来识别您未在实施Dispose
的对象上调用using
/使用IDisposable
的代码。在这种情况下,他们会警告你。
此外,在Visual Studio中,您可以使用Object Browser查看哪些类型实现IDisposable
。
答案 2 :(得分:0)
建议在大多数情况下,应在IDisposable
块中使用实现using
的类。
要查看某个类是否实现了IDisposable
,您可以查看它的定义。如果IDiposable
实现配置不正确,FXCop等代码样式分析工具也会提醒您。
答案 3 :(得分:-1)
将其用于实现IDisposable
的所有类的本地实例。他们有Dispose
方法。