Re: Disposing managed resources
- From: Peter Duniho <NpOeStPeAdM@xxxxxxxxxxxxxxxx>
- Date: Tue, 02 Oct 2007 17:21:36 -0700
Varangian wrote:
was wondering of how to dispose of managed resources?
It depends. Some classes implement IDisposable, and in some of those cases, there are managed resources that can be "released" (unreferenced) using the Dispose() method of that interface.
But I think that normally, there's not any need to dispose of managed resources. It's the unmanaged ones you care about. Managed ones are, by virtue of being managed, going to be cleaned up when there's a good reason to clean them up, and otherwise left alone.
Since you shouldn't waste time cleaning something up when there's not a good reason to, I think that for managed resources, just managing the lifetime of the resource relative to your own use is sufficient.
More typically, you would use IDisposable to dispose of a resource that is either unmanaged, or itself has unmanaged resources and thus implements IDisposable.
or referencing every member of a class to null will release
resources...?
Setting references to null can allow a resource to be released. But it doesn't necessarily do so right away. And I think that for managed resources, you shouldn't even care whether they are or not.
http://www.marcclifton.com/tabid/79/Default.aspx
This seems to discuss the use of IDisposable to release unmanaged resources. It seems to me, however, that the author doesn't really understand the .NET memory model very well, nor does he really seem to understand the true purpose of IDisposable (and he also doesn't seem to understand that when you read a compressed image file to memory, of course it has to be decompressed to be used and so occupies much more memory than it does on disk...but that's a whole other issue :) ).
http://www.codeproject.com/managedcpp/garbage_collection.asp - sources
This article seems much better, but I'm not clear on how it is specifically related to your question. It doesn't seem to me to discuss the question of disposing managed resources per se, though it does discuss IDisposable.
Pete
.
- Follow-Ups:
- Re: Disposing managed resources
- From: Laura T.
- Re: Disposing managed resources
- References:
- Disposing managed resources
- From: Varangian
- Disposing managed resources
- Prev by Date: Re: Dragging data to Excel using DoDragDrop
- Next by Date: Re: Keyboard Hook, Hotkeys
- Previous by thread: Disposing managed resources
- Next by thread: Re: Disposing managed resources
- Index(es):
Relevant Pages
|