c# - 我是否需要在每个实现 IDisposable 的对象中使用 "using"关键字?

标签 c# .net idisposable using-statement

我正在调用第 3 方库,其中有很多类实现了 IDisposable。

我是否需要对所有这些都使用 using 模式?

最佳答案

必须这样做,但这是一种很好的做法。

无论是否发生异常,它都能确保资源得到正确清理。

IDisposable 应该只在需要清理资源的类上实现,因此确保它们这样做是一种很好的做法。

在某些情况下,可能需要直接调用 Dispose 而不是 using block (WCF 代理为此臭名昭著),但这不是一般情况。

简而言之 - 没有人会强制您使用它们,但您确实应该这样做。

关于c# - 我是否需要在每个实现 IDisposable 的对象中使用 "using"关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9212386/

相关文章:

c# - ASP.NET MVC、Unity 和 IDisposable

c# - 指定的起始 URL 无效。 http ://localhost:xxx

c# - 尽管在响应对象上配置了缓存控制 header ,但未在响应中发送

java - .Net 客户端与使用原始数据的 Java 服务器

.net - 使用 MS Access querydef 将参数作为 Decimal 类型传递时,PARAMETER 子句中出现语法错误

c# - 动态类型列表

c# - 为什么代码分析器建议处理 IDisposable 字段?

C#:将可空变量传递给只接受非空变量的方法

c# - 如何从 C# 用户控件中的 jquery 检索值?

c# - 'using' 是 C# 关键字吗?