public void Dispose() { if (disposed) return; if (writer != null) { writer.Flush(); writer.Dispose(); writer = null; } disposed = true; }