Click here to Skip to main content
15,886,873 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
what is finalize and dispose method in .net(C#) and what is the use and where we use
Posted

 
Share this answer
 
Comments
Manas Bhardwaj 3-Sep-12 6:07am    
yup +5
ridoy 3-Sep-12 10:07am    
thanks Manas
As usual you should be reading the documentation and doing your own research.
Finalize[^]
Dispose[^]
 
Share this answer
 
Comments
Manas Bhardwaj 3-Sep-12 6:07am    
Good links +5
[no name] 3-Sep-12 7:05am    
Thanks
Finalize()
1.This is the C# equivalent of destructor ~Object() syntax in C#.
In VB.Net you implement the Finalize() by overriding it. But, in C# the compiler translates the destructor to a Finalize() method.
2. Finalize() can NOT be overridden or called in C#.
3. Since, Finalize() is called by the Garbage Collector, it is non-deterministic.

Dispose()
1. This has to be implemented in classes implementing IDispose interface.
2. Its the right place for freeing-up unmanaged resources like file, handles, and connections etc.
3. Dispose() method is called explicitely in the code itself.
4. Dispose() method is automatically called (for objects which implement IDispose), when used in a "using" statement.
From: here[^]

Refer more detailed description with example on MSDN: Finalize and Dispose[^]

Difference:
Dispose Vs Finalize[^]
Finalize() and Dispose() methods in .Net?[^]
 
Share this answer
 
Comments
Mohamed Mitwalli 3-Sep-12 2:20am    
5+
Prasad_Kulkarni 3-Sep-12 2:33am    
Thank you Mohamed!
Manas Bhardwaj 3-Sep-12 6:07am    
very well +5
Prasad_Kulkarni 3-Sep-12 6:12am    
Thank you Manas!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900