我需要澄清......
... CLR(更具体地说,垃圾收集器)如何找到实现IDisposable
接口的类;以及
...如何调用Dispose
方法(实现IDisposable
接口的所有类)来释放内存?
答案 0 :(得分:4)
CLR不会调用Dispose(),这取决于用户代码是直接调用还是通过使用using
语句调用。然而,CLR会拨打finalizers,虽然这不是保证。
答案 1 :(得分:1)
Dispose
。编写Dispose
或直接调用using
时,编译器会生成对Dispose
的调用。