c# - implementing IDisposable interface and what happens when exception is thrown -


i have class implements interface idisposable. understanding when have finished using object (something line below) dispose method called make sure cleaned - correct?

 myobj = null; 

i know if exception thrown whether dispose method still gets called? or should using 'using' block?

my understanding when have finished using object (something line below) dispose method called make sure cleaned - correct?

no, not correct. setting instance of object null not call dispose method, should explicitly when you're done object.

myobj.dispose();// im done myobj! 

this done utilizing using

using(var myobj = new myobject()) {      myobj.dosomething(); } // dispose automatically called. 

the above ensures dispose called, if exception thrown within using block.


Comments