Cleaning up after yourself (Dispose(void) doesn’t get called for you)

Despite my large and growing number of Dispose-related blogs, I really don’t like writing about Dispose. Or rather, I don’t like that Dispose is in such a confusing state that it requires so much reading material. 🙂 But here we are again. I’d like to start posting some of the common Dispose questions I get,…


When to call Dispose

A recent internal email thread unearthed extreme differences of opinion about when Dispose(void) should be called on an IDisposable. This led to a long discussion and a realization that — while it seems like we’ve said everything there is to say about Dispose — it’s time for some more Dispose guidance. This blog summarizes our…


Difference between Disposing and Finalizing (referral)

I’ve gotten some pings on the difference between Disposing and Finalizing, which I didn’t discuss in my Dispose/Close post. Fortunately Brian Grunkemeyer has written an excellent blog on the topic:  


The never-ending saga of Close/Dispose

I made some quick updates in my recent post to describe the difference between Close and Dispose for SqlConnection: If you’re wondering about the difference between Close and Dispose for classes I didn’t mention, feel free to comment. I’m curious to unearth any other occurrences.


The (often non-) difference between Close and Dispose

Some classes in the .NET framework, such as System.IO.FileStream, have both a Close() and Dispose() method. The natural question is what’s the difference, and when you should use one versus the other. The framework guidelines refer to Close and Dispose in the following context: occasionally you may prefer to use a domain-specific word instead of…