public void Dispose() { if (solution != null && solutionEventsCookie != 0) { GC.SuppressFinalize(this); solution.UnadviseSolutionEvents(solutionEventsCookie); OnAfterOpenSolution = null; solutionEventsCookie = 0; solution = null; } }