public override void Dispose() { if (!disposed) { disposed = true; logger.TextWritten -= WriteConsoleLogText; errorLogger.TextWritten -= WriteError; outLogger.TextWritten -= WriteText; logger.Dispose(); outLogger.Dispose(); errorLogger.Dispose(); } base.Dispose(); }