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.
- Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
- Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Garbage Collection rant
Collapse
X
-
-
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.Originally posted by cailin maithHang on - there is actually a place called Cheddar??
Comment
-
Don't worry, I mentioned itOriginally posted by FSM with Cheddar View PostForgot 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.
Where are we going? And what’s with this hand basket?Comment
-
oops must pay more attention
Originally posted by cailin maithHang on - there is actually a place called Cheddar??
Comment
-
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 anymoreOriginally posted by FSM with Cheddar View PostIn 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.
).
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.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.Will work inside IR35. Or for food.Comment
-
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.
As for any general argument about garbage collection versus manual allocation/deallocation, that's a no brainer.Comment
-
None are a problem in assembler either, but that's not really the point.Originally posted by jkoder View PostNot 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.
Will work inside IR35. Or for food.Comment
-
Not really read this thread in depth so apologies if this has been covered but if you have a managed object that holds an unmanaged resource that you want to be got rid of, it is up to you to implement IDisposible (correctly!) and possibly offer an Open and Close method if the resource can be-reused (example being a database connection).Originally posted by VectraMan View PostAha! 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.
Then any coder will know that to use any class that implements IDisposible, they simply wrap the lifetime of the object in a using statement.
http://stackoverflow.com/questions/1...alization-in-c
http://www.marcclifton.com/tabid/79/Default.aspx
Simple and it works. What's the problem?Comment
-
It's been there since day one - not sure why I didn't mention it earlier, it goes hand in hand with the dispose pattern.Originally posted by VectraMan View PostAha! 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
).Where are we going? And what’s with this hand basket?Comment
-
I was expecting this thread would be about wheelie bins or fortnightly collections or some other interesting rubbish. Only to find that it's about programming
Comment
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers

Comment