using会自动调用Dispose()方法。
跟你自己写了try-catch--finally{Dispose();}一样,只不多这些事情编译器帮你做了。
只要你的MyClass是IDisposable的,在using块后会自动执行Dispose方法,将资源释放写在Dispose方法中即可
换句话,只要是编译时没有错误,using内的资源都会被正确释放
楼上正解
此问题应该这样:
概念:
1.要知道using
2.要知道using 语句提供的对象必须实现 IDisposable 接口。
因为这个接口提供了 Dispose 方法,该方法是用来释放当前对象的资源。
3.当然也可以自已实现资源释放
举例:
在使用此方法时,还要明白,打个比方:
有三个object,分别为A,B,C.
此时A 分配给 B,对象 B 又分配给 C,
那么 A 的 Dispose 实现必须对 B 调用 Dispose,而 B 反过来必须对 C 调用 Dispose。
如果一个对象的基类实现 IDisposable,该对象还必须调用其基类的 Dispose 方法。
如果某对象的 Dispose 方法被调用一次以上,则该对象必须忽略第一次调用后的所有调用。
结果:
你的语句可以释放资源
(理解是应用的基础):)