【发布时间】:2017-03-10 13:20:09
【问题描述】:
Close() 是否与 Dispose() 相同或 using 语句。调用Close也要调用using语句吗?
我知道在处理一个对象之前,应该调用 close ,所以我们关闭资源并让它对Dispose 可用。
https://msdn.microsoft.com/en-us/library/aa355056(v=vs.110).aspx
说Close 与Dispose 相同。
【问题讨论】:
-
作为一般规则,您应该将 Using-statement 与实现 iDisposable 的所有内容一起使用,并且该对象将以正确的方式处置(和关闭)。
-
using和Dispose是通过IDisposable接口定义的。Close不是此定义的一部分,因此不能保证其行为方式相同。所以,答案是:不,Close()通常与Dispose()不一样 -
我想不出一个 .Net 库类需要您在
Dispose之前调用Close并且实际上任何实现良好的类都不应该。