Unmanaged resources in a static class

Simon Robinson <[email protected]>
Newsgroups gmane.comp.windows.devel.dotnet.advanced
Message-ID <LISTSERV%[email protected]>
I have a static class that holds quite a few unmanaged resources (it
basically loads/creates a large number of GDI+ bitmaps, brushes and pens
that are likely to be used at regular intervals by the application). Being
concerned about resource cleanup, I naturally ( :) ) thought about their
disposal. However, static classes do not allow finalizers to be defined.

In one sense that makes sense - the reason for having a static class that
manages these resources is that they are likely to be required repeatedly
right up until the app shuts down. However I am a bit nervous - this means
I'm entirely dependant on Windows to release all these resources when the
process ends, and although Windows should do that, to be honest I'm not
100% sure I trust it to do so, I'd feel more comfortable if my managed
code contained something to explicitly ensure these resources are
released. (I trust .NET rather more than I trust the Windows OS :) )

Any thoughts? Am I being too cautious when I should just trust Windows to
handle resource release, or is there some other way to deal with this
situation?

===================================
This list is hosted by DevelopMentor®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.