In part 1 of this series of this article, I talked about that it is very critical for every developer to know exactly how memory management works in the .NET runtime. In part 2 I showed how to implement the IDisposable interface for your types. In this article, I am going to discuss how to find these issues in your code by using tools and Visual Studio extensions.
In this article, I will show the proper way to implement the IDisposable interface in types that you create that contain disposable fields. In addition, I will show how to implement the dispose pattern in types that inherit a type that implements IDisposable.
Microsoft .NET has been around for 20 years and one thing that is very critical for every to know is exactly how memory management works in the runtime. If you don’t, you will cause performance issues but more serious is causing virtual memory leaks. The way that .NET was designed back in the late ’90s is that it does not have memory leaks in the true sense, but it can create virtual memory leaks.
Whenever I do code review on .NET projects, hands down the number one issue is developers not calling .Dispose() on disposable objects. Ever since .NET was released, I have been preaching how important this is. If not done properly, it’s most likely to create virtual memory issues that will eventually cause the application to stop … Continue reading Bulletproof Disposable Types in .NET Core
If you call your form like this:formMyForm formModal = new formMyForm();formModal.ShowDialog(): Make sure you properly dispose of it like this:formModal.Dispose(); Bug Submitted By: David McCarter