diff --git a/RESW File Code Generator/VSPackage/CustomTool/CodeDomCodeGenerator.cs b/RESW File Code Generator/VSPackage/CustomTool/CodeDomCodeGenerator.cs index 616f107..8c3764b 100644 --- a/RESW File Code Generator/VSPackage/CustomTool/CodeDomCodeGenerator.cs +++ b/RESW File Code Generator/VSPackage/CustomTool/CodeDomCodeGenerator.cs @@ -8,7 +8,7 @@ using Microsoft.CSharp; namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.VSPackage.CustomTool { - public class CodeDomCodeGenerator : CodeGenerator + public class CodeDomCodeGenerator : CodeGenerator, IDisposable { private readonly string className; private readonly CodeNamespace codeNamespace; @@ -155,5 +155,31 @@ namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.VSPackage.CustomTool return code.ToString(); } + + #region IDisposable + + private bool disposed; + + ~CodeDomCodeGenerator() + { + Dispose(false); + } + + public void Dispose() + { + Dispose(true); + } + + protected virtual void Dispose(bool dispose) + { + if (disposed) + return; + disposed = true; + + if (dispose) + provider.Dispose(); + } + + #endregion } } \ No newline at end of file