- Joined
- Oct 3, 2008
- Messages
- 851
- Likes received
- 0
- Thanks received
- 0
- Location
- Zummerzet
Forgot to mention; An object that is hanging on to an external resource and being referenced in multiple places sounds like a candidate for refactoring to me. Perhaps the object should be a singleton, or if that is not relevant then perhaps it should open and close the resource each time a read or a write is done.

In addition to the try/finally logic, you can also use the Using reserved word on any of your objects that implement IDisposible. They will automatically be disposed off when the code exits the using block either through the normal route or when an error is thrown.
).An object that is hanging on to an external resource and being referenced in multiple places sounds like a candidate for refactoring to me. Perhaps the object should be a singleton, or if that is not relevant then perhaps it should open and close the resource each time a read or a write is done.
Not sure how this works in C# but in Java none of the points you outline are a problem at all, providing you follow some sensible coding practices.

Aha! Well that's exactly what I was after, and also kind of proves that I'm right. Was it even in the original version? It seems like a bit of an after thought, and obviously abusing an existing keyword is not exactly a clean solution (although after seeing C++/CLI, nothing scares me anymore).
Exactly my point. It's not hanging onto an external resource if the lifetime of the object is very short. But thanks to GC, the lifetime could be until the end of the program.
Aha! Well that's exactly what I was after, and also kind of proves that I'm right. Was it even in the original version? It seems like a bit of an after thought, and obviously abusing an existing keyword is not exactly a clean solution (although after seeing C++/CLI, nothing scares me anymore).