We need to follow the below steps:-
- Implement IDisposable interface and implement the dispose function.
- In Dispose function calls the “GC.SuppressFinalize” method.
- At the client side ensure that the “Dispose” function is called when the object is no more required.
Below goes the code, this is also called as “Finalize and Dispose pattern”. This ensures that your objects are created in Generation 0 rather than Generation 1. “GC.SuppressFinalize” tells the garbage collector to not worry about destructor and destroy the objects in the first call itself.
class clsMyClass : IDisposable
{
~clsMyClass()
{
// In case the client forgets to
call
// Dispose , destructor will be
invoked for
Dispose(false);
}
protected virtual void Dispose(bool
disposing)
{
if (disposing)
{
// Free managed objects.
}
// Free unmanaged objects
}
public void Dispose()
{
Dispose(true);
// Ensure that the destructor is
not called
GC.SuppressFinalize(this);
}
}
In this .NET interview
questions we have added a visual studio tips and tricks called
“Functionality from refactor menu”.
Scenario: - Many times as a developer you come across functions with lots of input parameters .For various reasons you want to shuffle them, reorder them or remove some of them.
Solution: - It can be easily achieved by using reorder functionality from refactor menu. Following is the video solution for it: -